UML软件工程组织

Eclipse3.0中配置SQLExplorer插件

出处:blog责任编辑: 方舟

SQLExplorer是Eclipse集成开发环境的一种插件,它可以被用来从Eclipse连接到一个数据库。SQLExplorer插件提供了一个使用SQL语句访问数据库的图形用户接口(GUI)。通过使用SQLExplorer,你能够显示表格、表格结构和表格中的数据,以及提取、添加、更新或删除表格数据。SQLExplorer同样能够生成SQL脚本来创建和查询表格。所以,与命令行客户端相比,使用SQLExplorer可能是更优越的选择。在这篇指南中,我们将使用SQLExplorer插件建立一个从Eclipse3.0到开源数据库MySQL的JDBC连接。

概 览

通过在集成开发环境中加入一个SQLExplorer视窗,SQLExplorer插件为Eclipse配置了一个访问数据库的SQL客户端。

为了演示SQLExplorer插件的使用,我们将在开源数据库MySQL中创建一个示例表,并且建立一个从Eclipse到MySQL数据库的JDBC连接。接着,我们将在SQLExplorer的图形SQL客户端中提取和显示示例数据。同样,我们也将通过更新和删除示例表中的数据来演示SQLExplorer插件的不同特点。

预 备 安 装

1. 下载并安装 Eclipse 3.02

2. 下载SQLExplorer文件 net.sourceforge.sqlexplorer_2.2.3.zip.

3. 解压 SQLExplorer .zip 文件到 /eclipse 目录。 是Eclipse安装的目录。 这将把SQLExplorer插件的 features 和 plugins 目录添加到Eclipse中的 features 和 plugins 目录。(译者注:这里说得不是十分清楚,其实是先将SQLExplorer .zip文件解压,然后分别把features 和 plugins 目录中的所有文件拷贝到Eclipse中对应的features 和 plugins 目录中,这是安装Eclipse插件的常用方法,当然也可以使用link方式安装插件,请参阅网上相应文档)

4. 重启Eclipse.

5. 安装MySQL数据库。

6. 下载Connector/J,通过使用包含在其中的一个 .jar文件中的JDBC驱动来连接MySQL数据库。

7. 作为一个root用户登陆到MySQL数据库,命令如下:

>mysql -u root

root用户没有设定密码。需要通过密码登陆到数据库时,指定如下命令:

>mysql -u root -p

8. 使用如下命令连接到test数据库,这是一个示例数据库实例:

>use test

9. 在test数据库中创建一个示例表。示例表 Catalog 由ONJava上的文章名称组成。用来创建示例表的SQL脚本列在下面:

CREATE TABLE Catalog(CatalogId INTEGER, Journal VARCHAR(25), Publisher Varchar(25), Date VARCHAR(25), Title Varchar(45), Author Varchar(25)); INSERT INTO Catalog VALUES('1', 'onjava', 'OReilly', 'April 2005', 'Five Favorite Features from 5.0', 'David Flanagan'); INSERT INTO Catalog VALUES('2', 'onjava', 'OReilly', 'Feb 2005', 'Introducing JBoss Remoting', 'John Mazzitelli'); INSERT INTO Catalog VALUES('3', 'onjava', 'OReilly', 'March 2005', 'Aspect-Oriented Annotations', 'Bill Burke');

配置 SQLExplorer

安装了SQLExplorer插件后,我们将要在Eclipse 3.02中配置SQLExplorer.首先,在Eclipse中打开SQLExplorer视窗。在Eclipse 集成开发环境中单击 “Open a perspective”按扭来打开一个视窗。图1说明了“Open a perspective”按扭。


 图 1. 打开视窗

在条目列表中,选择“Other...”来显示SQLExplorer插件,如图2所示。
 
 图 2. “ other… ”菜单项

在 Select Perspective框中,选择SQLExplorer视窗,如图3所示。通过选择SQLExplorer视窗,SQLExplorer插件的功能部件在Eclipse中变得可用。


 图 3. SQLExplorer 视窗

Drivers 标签显示了不同的数据库驱动,它们被用来连接不同的数据库。现在可用的数据库包括DB2, MySQL, Oracle, Sybase, HSQLDB, SQLServer 和 PostgreSQL。针对MySQL,我们需要配置SQLExplorer。为了配置MySQL驱动,右击 MMMySQL Driver 结点, 并且选择 Change the Selected Driver, 如图4所示。

图 4. 修改驱动

 在 Modify Driver框中,选择 Extra Class Path 标签,并且单击 Add 按扭将 MySQL 驱动 .jar 文件(为下载的 Connector/J 的一部分)添加到类路径中。图5阐明了将MySQL 的 JDBC 驱动加到 Eclipse 的类路径中。

 
 图 5. 设置驱动

添加 MySQL Connector/J 驱动 .jar 文件,mysql-connector-java-3.0.16-ga-bin.jar,到类路径中。在 Example URL 域中, 指定连接到数据库的 URL。一个连接到 test 数据库的JDBC连接将被创建,test数据库已经在MySQL安装的时候预先创建了。连接到 test 数据库的 URL 为 jdbc:mysql://localhost/test。在 Driver Class Name 域中,指定MySQL JDBC 驱动为 com.mysql.jdbc.Driver。MMMySQL 驱动按如图6所示的设置配置。
 

图 6. 设定 MySQL JDBC 设置

想要连接到 MySQL 数据库并提取其中的表格,我们需要为连接建立一个别名。一个连接的别名说明了连接设置,JDBC 驱动,URL,用户名和密码。在SQLExplorer视窗中选择 Aliases 标签。单击 “Create new Alias” 按扭来创建一个新的别名,如图7所示。


 图 7. 创建一个新的别名

在“Create new Alias"框中,指定一个别名。选择MMMySQL Driver 来为MySQL数据库创建一个别名。在 URL 域中指定 test 数据库的连接 URL, jdbc:mysql://localhost/test。图8展示了MySQL 别名的设置。

图 8. 创建一个新的别名

以上操作将一个MySQL的别名加入到 Aliases 标签中,正如图9所示。想要修改一个别名,右击别名结点并选择 “Change the selected Alias.”

图 9. MySQL 别名

MySQL 别名用来连接到 MySQL 数据库并且从中提取数据。要想打开数据库连接,右击 MySQL 别名结点并选择 Open,如图10所示。
 

图 10. 打开别名

在 Connection 框中,指定登陆到 MySQL 数据库使用的用户名和密码,然后单击 OK 按扭。图11展示了登陆的设置。缺省情况下,对于 root 用户不需要密码。
 

图 11. 打开连接

一个与 MySQL 数据库的 JDBC 连接就这样建立了。一旦连接上了,Eclipse 就会显示 MySQL 数据库中的不同的数据库模式,如图12所示。

图 12. 列出数据库模式

 对其他数据库的支持

这个 JDBC 连接的例子是关于配置与 MySQL 数据库连接的。通过在 Drivers 标签中为数据库选择合适的驱动,可以配置与其他数据库的 JDBC 连接。只需为选定的数据库指定驱动类和连接URL,就可以配置与该数据库的 JDBC 连接。以下列出的是其他数据库的驱动类、连接URL和驱动 .jar 文件。

DB2

  o Driver Class: COM.ibm.db2.jdbc.app.DB2Driver

  o Connection URL: jdbc:db2:

  o Driver .jar/.zip: db2java.zip

Sybase

  o Driver Class: com.sybase.jdbc2.jdbc.SybDriver

  o Connection URL: jdbc:sybase:Tds::/

  o Driver .jar/.zip: jconn2.jar

Oracle

  o Driver Class: oracle.jdbc.driver.OracleDriver

  o Connection URL: jdbc:oracle:thin:@ ::

  o Driver .jar/.zip: classes12.zip

SQLServer

  o Driver Class: com.microsoft.jdbc.sqlserver.SQLServerDriver

  o Connection URL: jdbc:microsoft:sqlserver://localhost:1433

  o Driver .jar/.zip: mssqlserver.jar, msbase.jar, msutil.jar

PostgreSQL

  o Driver Class: org.postgresql.Driver

  o Connection URL: jdbc:postgresql://:/

  o Driver .jar/.zip: postgresql.jar

在如上列表中, 是指数据库实例, 是数据库连接端口, 是数据库的SID, 是数据库服务器。

访问数据库数据

在上一节中我们在 Eclipse 中配置了 SQLExplorer 插件。下面,我们将从示例表 Catalog 中提取并修改数据。如果是从一个命令行 SQL 客户端访问数据库,则使用如下命令来提取数据(在一行中):

SQL>SELECT catalogId, journal, publisher, date,

title, author from Catalog;

这将以文本表的形式显示数据。使用图形 SQL 客户端 SQLExplorer,数据将以结构表的形式显示。SQLExplorer 同样也会生成创建表和从中提取数据的 SQL 脚本。如果使用 DESC 命令在一个命令行客户端中显示表格的结构,只有列名,列数据的类型,列数据的长度大小以及非空的值会被显示。有了 SQLExplorer, 索引、主键和外键值都会被显示。

在 Eclipse 的 SQLExplorer 视窗中选择 Database Structure View 标签。为了显示表 Catalog 的结构,在 Database Structure View 中选择 Database>test>TABLE>Catalog 结点。图13显示了表 Catalog 的结构。

图 13. Database Structure View

Columns 标签显示了下表中列出的列:

为了显示选中的表格中的数据,请选择 Preview 标签。图14显示了表 Catalog 中的数据。关于表格的其他的信息分别在 Indexes, Primary Key, Foreign Key 和 Row Count 标签中显示。
 

 图 14. 显示表格数据

若想得到创建表格的 SQL 脚本,右击表结点并且选择 Create Table Script,如图15所示。

图 15. 生成建表脚本

如图16所示,这将生成创建被选表格的 SQL 脚本, 并将其显示在 SQLExplorer 视窗中的 SQL Editor 中。
 

图 16. 建表脚本

Database Structure View 的 Preview 标签中的数据是使用缺省的 Select 查询提取的,它包括了表格中所有的列。要想显示缺省的 Select 查询语句,右击表结点并且选择 “Generate Select in Sql Editor”,如图17所示。

图 17. 生成缺省 select 查询语句

如图18所示,SQL Editor 中显示了从表 Catalog 中提取数据的缺省查询语句。注意:显示在 SQL Editor 中的 SELECT 查询语句的结尾没有分号(;)。

图 18. Select 查询语句

 查询语句可能被定制为只显示表格中的几列数据。比如,修改 Select 语句使其显示除了 CatalogId 列的其他所有列。选择 Execute SQL 按扭来运行 SQL 脚本。由修改后的 select 语句得到的数据显示在 SQL Results 框中,如图19所示。


 图 19. 使用定制的 SELECT 查询语句提取表中数据

接下来,SQL Editor 中的一条 SQL 脚本将会更新表 Catalog。例如,把标题“Five Favorite Features from 5.0”修改为“New Features in JDK 5.0”。如图20所示,在 SQL Editor 中运行更新表 Catalog 的脚本

图 20. 更新 SQL 脚本

表格中数据被更新了。在修改后的表格上运行缺省的 select 查询,修改后的数据将被显示在 SQL Results 框中。图21显示了表 Catalog 修改后的数据。

 

图 21. 修改表格数据

接着,使用 DELETE SQL语句从表中删除一行数据,如图22所示。CatalogId='3'的行将从表中删除。

图 22. DELETE SQL 脚本

运行缺省的 select 查询语句来显示修改后的表中的数据。SQL Results 框中的表格不再包括被删除的行了,如图23所示。

图 23. 删除了一行后的表格数据

通过在 Eclipse 中配置 SQLExplorer 插件,该集成开发环境获得了图形用户界面(GUI)较之命令行客户端的许多优点。

总 结

例子中,我们与 MySQL 数据库建立了一个 JDBC 连接,并访问其中的一个示例数据库。SQL Explorer 同样可以被用来配置与其他数据库的连接,包括 DB2, Sybase, Oracle, HSQLDB, SQL Server 和 PostgreSQL。

 

版权所有:UML软件工程组织