基于 Eclipse 的 Apache Derby 工具
2009-12-16 00:00:00 来源:WEB开发网简介
Apache Derby 与 IBM Cloudscape
Apache Derby 是一个 Apache DB 项目,它是一种 Java 类库形式的轻量级、可嵌入的关系引擎。它的本机接口是带 Java 关系扩展的 Java Database Connectivity (JDBC)。Derby 非常容易部署和运行,在它上面也很容易进行开发。
在 2004 年 8 月,IBM 将 Cloudscape 10.0 关系数据库产品的一份拷贝捐献给了 Apache Software Foundation (ASF),该产品因此有了一个新的名称:“Derby”。从此以后,IBM Cloudscape 成为开放源码 Apache Derby 数据库的商业版本,并且是完全免费提供的。该 IBM 软件包括未作任何修改的 Apache Derby 代码,另外还添加了 Apache Derby 软件中所没有的一些特性,例如用户友好的安装程序,包括有助于刚入门的 Java 开发人员提高水平的 Java Runtime Environment (JRE) 和一些翻译好的手册。您也可以购买 IBM Cloudscape 的技术支持。Cloudscape 现有的最新版本是 Version 10.1。
Eclipse
Eclipse 平台在 Java 开发社区已变得非常流行,这是理所当然的。这个平台以插件的形式提供了丰富的功能,并且易于学习和使用。
用于 Apache Derby 数据库的基于 Eclipse 的工具
本文面向的读者是希望与 Derby 数据库交互的 Eclipse 用户。不过,其他 Derby 用户也将发现,本文对于了解在 Eclipse 中使用 Derby 或者使用独立的 Rich Client Platform (RCP) 应用程序 Cloudscape Workbench 的各种方法有一定的帮助。
还有其他一些工具选项,例如 SQuirreLSQL 客户机,但是它们超出了本文的范围。
工具
Apache Derby 插件
WTP 插件
IBM Cloudscape Workbench、RCP 或 Eclipse 插件
全部工具:WTP、Cloudscape Workbench 和 Derby 插件
Apache Derby 插件
通过将 Derby 插件添加到 Eclipse 中,开发环境得到了增强,现在在 Eclipse 中可以将 Derby jar 文件添加到一个项目的类路径中,可以启动和停止 Derby 网络服务器,可以运行 ij(SQL 命令行工具),还可以使用 sysinfo 输出 Derby 系统信息。
大小: 3 MB
易用性: Eclipse 的新用户需要花些时间来熟悉 IDE。对于 Derby 插件,Derby 用户可以很快地上手。而 Derby 的新用户将发现,学习 ij 对于在 Eclipse 中使用该工具会有所帮助。
面向的用户: 本解决方案对于主要兴趣在于独立的数据库应用程序的开发的所有 Eclipse 和 Derby 用户来说非常理想。而 Eclipse 或 Derby 的新用户也可以从这个解决方案中受益;不过,学习曲线会更陡峭一些。
适合的场景:
能发挥 Eclipse IDE 威力(例如其调试和测试能力)的独立的数据库应用程序的开发。
Derby 数据库存储过程,由于它们是用 Java 编写的,因而可以使用已有的 Eclipse 调试框架在 Eclipse 中对其进行调试。
是否包括特定于工具的帮助: 是。
是否捆绑 Derby: 捆绑。
是否可以从该工具内启动 Network Server: 可以。
打包形式: 一组 Eclipse 插件。Derby 插件要求 Eclipse 3.1。
下载地点: 可以从 Apache Derby, 10.1.1.0 的发布页面下载 derby_core_plugin_10.1.1.zip 和 derby_ui_plugin_1.1.0.zip 文件。
WTP 插件
Eclipse Web Tools Platform (WTP) 项目允许 Eclipse 用户开发 J2EE Web 应用程序。这个平台中包括多个编辑器、图形编辑器、特性(nature)、构建器、一个 Web Service 向导、一些数据库访问和查询工具和其他一些组件。
大小: 45 MB
易用性: Eclipse 的学习过程有些曲折,尤其是当您想研究所有工具的功能时更是如此。不过,WTP 与 Cloudscape Workbench (CWB) 有很多相同的视图,因为 CWB 构建在 WTP 之上,所以,学习了两者中的任何一个,就可以理解另外一个。
面向的用户: 可能使用一种或多种数据库(包括 Derby)的 Web 应用程序开发人员。WTP 允许同时存在多个到不同数据库系统的连接。
适合的场景:
使用 Derby 数据库存储和查询数据的 Web 应用程序。由于 WTP 允许启动、停止 Web 应用程序和将整个 Web 应用程序部署到应用程序服务器,所以它提供了非常容易的 Web 应用程序开发。
使用 WTP 的一组插件中包括的数据工具创建用于 Web 应用程序的数据存储的 Derby 数据库,运行和保存 SQL 脚本,装载和卸载表,以及生成 DDL。
是否包括特定于 Derby 的帮助: 有一些。
是否捆绑 Derby: 否。
是否可以从该工具中启动 Network Server: 不可以。
打包形式: 一组 Eclipse 插件。
下载地点: WTP 站点就有很多 WTP 插件可供下载,包括所有相关的插件,另外还可以从那里下载一个单独的包含 Eclipse 和所有必需插件的 zip 文件。
IBM Cloudscape Workbench、RCP 或 Eclipse 插件
Cloudscape Workbench (CWB) 是作为一个 Eclipse Rich Client Platform (RCP) 应用程序、一个独立的工具或一组 Eclipse 插件的形式提供的。它是一种小型的工具,易于使用和学习。CWB 构建在 WTP 的一组插件的子集之上,并从这些插件获得大部分基本的功能。Workbench 中增加的功能包括增强的 Derby 和 DB2 连接、从 Derby 到 DB2 的迁移和特定于工具的帮助。CWB 新连接向导中的数据库管理器列表中添加了 Derby , Version 10.1 支持。这个附加的 DB2 功能包括对 DB2 JDBC Universal 驱动程序、改进的系统表信息和 DB2 DDL 生成的支持。
大小: 独立的版本占 25 MB,插件占 3 MB。
易用性: 易于使用,学习曲线短。之前无需 Eclipse 方面的知识,不过如果有这方面的知识将会有所帮助。
面向的用户: Derby 数据库临时用户 —— 仅提供数据库功能。
适合的场景: 连接和浏览 Derby 或 DB2 数据库,创建模式对象,运行和创建 SQL 脚本,装载和卸载表,以及从 Derby 到 DB2 的迁移。
是否包括特定于工具的帮助: 是。
是否捆绑 Derby: 不捆绑。
是否可以从该工具中启动 Network Server: 不可以。
打包形式: 打包成一个独立的工具,或打包成一组 Eclipse 插件。这些插件要求 Eclipse 3.1 和 0.7 WTP 插件。
下载地点: IBM developerWorks。
一起使用 WTP、Cloudscape Workbench 和 Derby 插件
由于所有这些组件都被打包成 Eclipse 插件,所以它们都可以共存于 Eclipse 3.1 之上。每一组插件都为 Eclipse IDE 带来一些使用 Derby 数据库方面的功能。
大小: WTP 占 45 MB,Workbench 插件占 3 MB,Derby 插件占 3 MB,一共是 51 MB。
易用性: 只要用户熟悉 Eclipse,几乎任何安装在这个平台上的附加插件都容易学习和理解。
面向的用户: 需要 Cloudscape Workbench 插件的 Derby 和 DB2 连接支持以及 Derby 插件的启动和停止 Derby Network Server 能力的 Web 应用程序开发人员。通过添加 Derby 插件,可以增加 WTP 或 Workbench 插件的菜单项中没有提供的三大功能:
添加 Derby jar 文件到一个项目的类路径中。
在 Eclipse 中管理 Network Server。
使用 sysinfo 输入 Derby 系统信息。
适合的场景: 需要用 Derby 数据库存储数据的 Web 应用程序。由于 WTP 允许启动、停止 Web 应用程序和将整个 Web 应用程序部署到应用程序服务器,所以它提供了非常容易的 Web 应用程序开发。通过 WTP 的数据工具,可以更容易地操纵 Derby 数据库。而且,如果 Web 应用程序开发人员想要从 Eclipse 中启动 Derby 网络服务器,那么目前来说使用 Derby 插件是惟一的方法。
是否包括工具和特定于 Derby 的帮助: 包括。
是否捆绑 Derby: 捆绑。
是否可以从该工具中启动 Network Server: 可以。
打包形式: 所有这些组件都是 Eclipse 插件,要求 Eclipse 3.1 或更高版本。
下载地点: 见前面对各个工具的描述,其中包括每个组件的下载信息。
工具比较
对于目前的 Eclipse 用户而言,前面对各工具的描述有效地说明了通过使用插件所取得的附加功能。图 1 展示了 Cloudscape Workbench 插件如何构建在 WTP 的一组插件之上。CWB 并没有使用所有 WTP 插件,而是使用其中一些数据工具插件,并通过提供附加的插件来增加功能。
而且,Derby 插件与 WTP 插件或 Cloudscape Workbench 没有任何关系,它提供了不同的功能。
图 1. 工具的功能和之间的关系
工具比较表
表 1 总结了每个组件提供的功能,以及与 Derby 数据库工具的关系。
表 1. 每个组件的功能和与 Derby 数据库工具的关系
Eclipse | Derby 插件 | WTP 插件 | CWB 插件 1 | CWB RCP | |
大小 (MB) | 110 | 3 | 45 | 3 | 25 2 |
是否连接到 DB | 否 | 是 | 是 | 是 3 | 是 |
是否有附加的 Derby 和 DB2 支持(WTP 之上) | 没有 | 没有 | 没有 | 有 | 有 |
能否执行 SQL | 不能 | 能 | 能 | 使用 WTP | 能 |
能否管理网络服务器 | 不能 | 能 | 不能 | 不能 | 不能 |
能否浏览模式 | 不能 | 不能 | 能 | 使用 WTP | 能 |
是否包括 Derby jar | 不包括 | 包括 | 不包括 | 不包括 | 不包括 |
能否得到 Derby 系统信息 | 不能 | 能 | 不能 | 不能 | 不能 |
能否从 Derby 迁移到 DB2 数据库 | 不能 | 不能 | 不能 | 能 | 能 |
是否包括特定于 Derby 的帮助 | 不包括 | 包括 | 包括 4 | 包括 | 包括 |
Cloudscape Workbench (CWB) 插件要求 WTP 插件。为 CWB 插件列出的功能反映了所有提供的功能。如果某个功能是由 WTP 插件首先提供的,则被标记为 “使用 WTP”。
CWB RCP (独立的)版本 的大小总共只有 25 MB,因为不需要安装 Eclipse。
CWB 插件添加了对 Cloudscape 和 Apache Derby 10.1 连接的即插即用支持。WTP 支持 10.0 Derby 数据库连接,但是也可以连接到 10.1 Derby 数据库,只是连接向导没有把 10.1 Derby 数据库作为一个选项。
WTP 提供了有限的与 Derby 相关的帮助。
使用这些工具连接数据库和发出 SQL 的例子
本节将展示使用这些工具连接到 Derby 数据库和在 Derby 数据库上发出查询的一些例子。
WTP 插件和 Cloudscape Workbench
图 2 展示了 Cloudscape Workbench 独立版本的 New Connection 向导。在使用 WTP 插件时,New Connection 向导也非常相似。不过,数据库管理器区域也列出了其他数据库供应商。
图 2. Cloudscape Workbench 和 WTP 插件的 New Connection 向导
查看原图(大图)
WTP 和 Cloudscape workbench 中提供了 SQL 编辑器。SQL 编辑器中提供了 SQL 模板,如 图 3 所示,当然也可以输入和运行临时构造的查询。
图 3. 使用 Cloudscape Workbench 或 WTP 插件发出 SQL 查询
查看原图(大图)
Derby 插件
下图显示了在 Eclipse 的控制台中使用 ij 时用于连接到 Cloudscape 数据库的 JDBC 连接 URL。连接 URL 可以由用户在 ij 中直接输入,也可以使用一个脚本来提供。
图 4. 在 Eclipse 控制台中使用 Derby 插件和 ij 连接到 Derby 数据库
图 5 中用文本编辑器创建了一个 SQL 脚本,并且包括多个 SQL 语句。要使用 Derby 插件运行该脚本,可以选择上下文菜单项 Apache Derby > Run SQL Script using 'ij'。
图 5. 使用 Derby 插件和 ij 运行 SQL 脚本
查看原图(大图)
结束语
Cloudscape Workbench 和 WTP 插件
Cloudscape Workbench 的独立版本是一个小型的工具,它包含 WTP 插件提供的数据库工具的部分功能。不管是 CWB 的独立版本,还是 CWB 插件,都提供了附加的 Derby 和 DB2 连接选项,Derby 到 DB2 的迁移功能,以及特定于工具的帮助。
Cloudscape Workbench 的独立版本是操纵 Derby 数据库的理想工具。
在 Eclipse 环境中使用 WTP 的一组插件特别适合于需要访问和操纵数据库的 Web 应用程序的开发。WTP 提供了现有的大部分数据工具,如果不需要 Derby 到 DB2 的迁移功能的话,它应该足以操纵 Derby 数据库。
Derby 插件
在 Eclipse 中通过命令行使用 ij,启动和停止 Network Server,运行 sysinfo 命令,以及将 Derby jar 文件添加到一个项目中,这些都是 Derby 插件为 Eclipse 带来的功能。Derby 插件可以与 WTP 或 Workbench 插件一起使用,甚至可以三者并用。
更多精彩
赞助商链接