作者: Deepak Vohra
SQLExplorer是Eclipse集成开发环境的一种插件,它可以被用来从Eclipse连接到一个数据库。SQLExplorer插件提供了一个使用SQL语句访问数据库的图形用户接口(GUI)。通过使用SQLExplorer,你能够显示表格、表格结构和表格中的数据,以及提取、添加、更新或删除表格数据。SQLExplorer同样能够生成SQL脚本来创建和查询表格。所以,与命令行客户端相比,使用SQLExplorer可能是更优越的选择。在这篇指南中,我们将使用SQLExplorer插件建立一个从Eclipse3.0到开源数据库MySQL的JDBC连接。
这篇指南有如下章节:
1.概览
2.预备安装
3.配置 SQLExplorer
4.访问数据库数据
概 览
通过在集成开发环境中加入一个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 目录。 <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”按扭。
在条目列表中,选择“Other...”来显示SQLExplorer插件,如图2所示。
在 Select Perspective框中,选择SQLExplorer视窗,如图3所示。通过选择SQLExplorer视窗,SQLExplorer插件的功能部件在Eclipse中变得可用。
Drivers 标签显示了不同的数据库驱动,它们被用来连接不同的数据库。现在可用的数据库包括DB2, MySQL, Oracle, Sybase, HSQLDB, SQLServer 和 PostgreSQL。针对MySQL,我们需要配置SQLExplorer。为了配置MySQL驱动,右击 MMMySQL Driver 结点, 并且选择 Change the Selected Driver, 如图4所示。
在 Modify Driver框中,选择 Extra Class Path 标签,并且单击 Add 按扭将 MySQL 驱动 .jar 文件(为下载的 Connector/J 的一部分)添加到类路径中。图5阐明了将MySQL 的 JDBC 驱动加到 Eclipse 的类路径中。
添加 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所示的设置配置。
想要连接到 MySQL 数据库并提取其中的表格,我们需要为连接建立一个别名。一个连接的别名说明了连接设置,JDBC 驱动,URL,用户名和密码。在SQLExplorer视窗中选择 Aliases 标签。单击 “Create new Alias” 按扭来创建一个新的别名,如图7所示。
在“Create new Alias"框中,指定一个别名。选择MMMySQL Driver 来为MySQL数据库创建一个别名。在 URL 域中指定 test 数据库的连接 URL, jdbc:mysql://localhost/test。图8展示了MySQL 别名的设置。
以上操作将一个MySQL的别名加入到 Aliases 标签中,正如图9所示。想要修改一个别名,右击别名结点并选择 “Change the selected Alias.”
MySQL 别名用来连接到 MySQL 数据库并且从中提取数据。要想打开数据库连接,右击 MySQL 别名结点并选择 Open,如图10所示。
在 Connection 框中,指定登陆到 MySQL 数据库使用的用户名和密码,然后单击 OK 按扭。图11展示了登陆的设置。缺省情况下,对于 root 用户不需要密码。
一个与 MySQL 数据库的 JDBC 连接就这样建立了。一旦连接上了,Eclipse 就会显示 MySQL 数据库中的不同的数据库模式,如图12所示。
对其他数据库的支持
这个 JDBC 连接的例子是关于配置与 MySQL 数据库连接的。通过在 Drivers 标签中为数据库选择合适的驱动,可以配置与其他数据库的 JDBC 连接。只需为选定的数据库指定驱动类和连接URL,就可以配置与该数据库的 JDBC 连接。以下列出的是其他数据库的驱动类、连接URL和驱动 .jar 文件。
DB2
o Driver Class: COM.ibm.db2.jdbc.app.DB2Driver
o Connection URL: jdbc:db2:<database>
o Driver .jar/.zip: db2java.zip
Sybase
o Driver Class: com.sybase.jdbc2.jdbc.SybDriver
o Connection URL: jdbc:sybase:Tds:<host>:<port>/<database>
o Driver .jar/.zip: jconn2.jar
Oracle
o Driver Class: oracle.jdbc.driver.OracleDriver
o Connection URL: jdbc:oracle:thin:@ <host>:<port>:<sid>
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://<server>:<port>/<database>
o Driver .jar/.zip: postgresql.jar
在如上列表中,<database> 是指数据库实例,<port> 是数据库连接端口,<sid> 是数据库的SID,<server> 是数据库服务器。
访问数据库数据
在上一节中我们在 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 的结构。
Columns 标签显示了下表中列出的列:
为了显示选中的表格中的数据,请选择 Preview 标签。图14显示了表 Catalog 中的数据。关于表格的其他的信息分别在 Indexes, Primary Key, Foreign Key 和 Row Count 标签中显示。
若想得到创建表格的 SQL 脚本,右击表结点并且选择 Create Table Script,如图15所示。
如图16所示,这将生成创建被选表格的 SQL 脚本, 并将其显示在 SQLExplorer 视窗中的 SQL Editor 中。
Database Structure View 的 Preview 标签中的数据是使用缺省的 Select 查询提取的,它包括了表格中所有的列。要想显示缺省的 Select 查询语句,右击表结点并且选择 “Generate Select in Sql Editor”,如图17所示。
如图18所示,SQL Editor 中显示了从表 Catalog 中提取数据的缺省查询语句。注意:显示在 SQL Editor 中的 SELECT 查询语句的结尾没有分号(;)。
查询语句可能被定制为只显示表格中的几列数据。比如,修改 Select 语句使其显示除了 CatalogId 列的其他所有列。选择 Execute SQL 按扭来运行 SQL 脚本。由修改后的 select 语句得到的数据显示在 SQL Results 框中,如图19所示。
接下来,SQL Editor 中的一条 SQL 脚本将会更新表 Catalog。例如,把标题“Five Favorite Features from 5.0”修改为“New Features in JDK 5.0”。如图20所示,在 SQL Editor 中运行更新表 Catalog 的脚本
表格中数据被更新了。在修改后的表格上运行缺省的 select 查询,修改后的数据将被显示在 SQL Results 框中。图21显示了表 Catalog 修改后的数据。
接着,使用 DELETE SQL语句从表中删除一行数据,如图22所示。CatalogId='3'的行将从表中删除。
运行缺省的 select 查询语句来显示修改后的表中的数据。SQL Results 框中的表格不再包括被删除的行了,如图23所示。
通过在 Eclipse 中配置 SQLExplorer 插件,该集成开发环境获得了图形用户界面(GUI)较之命令行客户端的许多优点。
总 结
例子中,我们与 MySQL 数据库建立了一个 JDBC 连接,并访问其中的一个示例数据库。SQL Explorer 同样可以被用来配置与其他数据库的连接,包括 DB2, Sybase, Oracle, HSQLDB, SQL Server 和 PostgreSQL。