- 1、本文档共29页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Eclipse和HSQLDB将关系数据库服务器嵌入到Eclipse中,第2部分
/2009-12/1260956981141311.html
HSQLDB 开发者角色
对 HSQLDB 与 Eclipse 工作台的集成感兴趣的开发者可以很容易地被分为两类:
客户机开发者,他们只是用 HSQLDB 来存储数据。
引擎开发者,他们通过添加新的标量函数或者存储过程来扩展 HSQLDB 可以识别的 SQL 语言。
第一类开发者需要方便地访问 HSQLDB JDBC 驱动程序以提交 SQL 语句。不过,最好也可以方便地启动或停止不同的 HSQLDB 实例(比如,两个需要使用不同表的项目)。更高级的开发者可能还喜欢生成 JavaBeans(TM),以将属性映射到表中的列,如果能生成数据访问对象(Data Access Object),从而为查询和更新数据库中的数据提供方法,那也是很方便的。
第二类开发者需要的功能包括,将新的 Java 类添加到数据库引擎中。他们可能还希望 Eclipse 调试器可以在被数据库服务调用的定制方法中设置断点和检查变量。
例如,如果我希望添加一个标量函数,以返回一个字符串列的 CRC32 检验和,我不得不创建一个包含有 public static 方法的类,如清单 1 所示,然后,当清单 2 中的脚本执行以后,它就可以被 SQL 语句所使用了。
清单 1. 扩展 HSQLDB 引擎的 Java 类
package hsqldb.functions; import java.util.zip.CRC32; public class CrcUtil { public static long crc(String data) { CRC32 crc32 = new CRC32(); crc32.update(data.getBytes()); return crc32.getValue(); } }
清单 2. 添加新标量函数到 HSQLDB 引擎的 SQL 脚本文件
CREATE ALIAS CRC FOR hsqldb.functions.CrcUtil.crc; GRANT ALL ON CLASS hsqldb.functions.CrcUtil TO PUBLIC;
客户机开发者所期望的大部分特性不在本系列文章的范围之内。有很多 SQL 监控器、OO- 关系映射工具和其他数据库实用工具都可以作为 Eclipse 插件得到,它们独立于数据库,可以与我们的 HSQLDB 插件共同为此类开发者提供一个完整的环境。本系列将着眼于数据库引擎开发者所关心的特性。
HSQLDB 插件,第二版
本系列的第 2 部分最初计划要创建一个专门的 HSQLDB 视图,在这里可以编辑很多配置(服务器端口、用户、密码和数据库文件路径),并且它们每一个都可以独立地启动或停止。但我意识到我只需要让 HSQLDB 作为一个标准的 Java 应用程序来运行,Eclipse JDT 本身就已经具备大部分的这些特性,于是我从根本上改变了这个计划。
本文现在的计划是定义一类专用的 Java 项目,在这些项目里 HSQLDB 库将自动可用,它们的行为依赖于服务器和相关工具(数据库管理器和脚本工具)的启动。当然,应该基于每个项目存储 HSQLDB 连接参数,而不是在整个工作台中只保存一次。
项目的性质和行为
Eclipse 用 项目性质来定义一类新项目,项目性质是平台中可用的众多扩展点之一。每一个项目可以有多个性质,所以不需要创建全新的项目类,只需复制或者继承 Java 项目类的功能。您可以只告诉工作台,新性质依赖于 JDT 已定义的 Java 项目性质。Java 性质提供了编辑 Java 类、创建单元测试用例和调试 Java 应用程序的所有工具。HSQLDB 引擎性质提供了启动、停止和配置 HSQLDB 的方法。
清单 3 显示了 plugin.xml 文件定义新性质的代码片断。它与一个类相关联,这个类必须实现 IProjectNature ,并可以将生成器和其他元素添加到工作台,但是这个第二版的 HSQLDB 插件不需要去做任何事情。总之,必须给出性质实现类,不然工作台不会将性质添加到项目中。使用新性质很简单,我们只需要将特定的项目设定为 HSQLDB 行为可用(或者不可用)。
清单 3. plugin.xml 清单文件中定义 HSQLDB 引擎项目性质的片断
extension id=hsqldbEngine name=HSQLDB Engine point=org.eclipse.core.resources.natures requires-natur
文档评论(0)