作者: 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。?
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1175433