使用 Apache Derby 开发 Eclipse 插件
2009-12-14 00:00:00 来源:WEB开发网向新创建的插件中添加 Derby 支持即是指定 Derby 内核插件上的依赖性。您可以通过在打开 sample_derby 项目中打开 plugin.xml 文件,然后在 Dependencies 选项卡的 Required Plug-ins 部分种选择与 org.apache.derby.core 的依赖性来完成指定操作(参见图 3)。完成后,插件就可以使用 Derby 类。
图 3. 插件依赖性编辑器
现在您可以了解如何通过扩展插件为本地数据库的 Records 表提供简单的记录计数器来操作简单的 Derby 数据库。此表包含关于数据库中保存的记录数目的信息。单击按钮后,记录数加一,并且显示具有当前记录数的对话框。首先,打开定义负责 Sample Action 的类的 SampleAction.java 文件,然后创建一个名为 queryRecords 的新方法。此时,您还只能连接至现有数据库。或者,如果相应的数据库不存在,系统将创建一个新数据库并始终返回 0(参见清单 1)。
清单 1. Derby 初始化代码
public class SampleAction implements IWorkbenchWindowActionDelegate {
/* ...code skipped here... */
/** driver string. */
private static final String DRIVER = "org.apache.derby.jdbc.EmbeddedDriver";
/** protocol string. */
private static final String PROTOCOL = "jdbc:derby:";
/** database name string. */
private static final String DATABASE = "sampleDB";
/** SQL script for creating Categories table. */
private static final String CREATE_TABLE = "CREATE TABLE Records"
+ "("
+ "quantity int"
+ ")";
/* ...code skipped here... */
/**
* Connects to database, inserts one record into Records table
* and then counts total records quantity in database.
* If database does not exist, then new database is created.
*/
private int queryRecords()
throws SQLException, IllegalAccessException, ClassNotFoundException,
InstantiationException {
Connection currentConnection = null;
System.setProperty("derby.system.home",
Sample_derbyPlugin.getDefault().getStateLocation().toFile().getAbsolutePath());
Properties props = new Properties();
try {
Class.forName(DRIVER).newInstance();
currentConnection = DriverManager.getConnection(PROTOCOL
+ DATABASE, props);
} catch (SQLException sqlException) {
//trying to create database
currentConnection = DriverManager.getConnection(PROTOCOL
+ DATABASE + ";create=true", props);
try {
Statement s = currentConnection.createStatement();
try {
s.execute(CREATE_TABLE);
} finally {
s.close();
}
currentConnection.commit();
} catch (SQLException ex) {
currentConnection.close();
throw ex;
}
}
return 0;
}
- ››使用linux中的quota教程
- ››apache设置域名绑定 以及绑定不起作用的排查
- ››使用jxl生成带动态折线图的excel
- ››apache rewrite将指定URL转向指定的几个服务器
- ››使用mysql mysqldump进行数据库迁移
- ››使用jquery是新tab形式
- ››使用QUnit进行Javascript单元测试
- ››使用UITextFieldDelegate来隐藏键盘
- ››使用公式提取Excel中的日期后发现格式不对
- ››使用SQL Azure 的BI 解决方案
- ››使用PLSQL Developer工具导出sql文件
- ››使用双缓冲技术实现Android画板应用
更多精彩
赞助商链接