版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明
英文原文地址:
http://www.onjava.com/pub/a/onjava/2005/05/11/sqlexplorer.html
中文地址:
http://www.matrix.org.cn/resource/article/43/43630_Eclipse_SQLExplorer.html
关键词: Eclipse SQLExplorer MySQL JDBC
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。