作者: Deepak Vohra05/11/2005翻譯:magic003版權聲明:可以任意轉載,轉載時(shí)請務(wù)必以超鏈接形式標明文章原始出處和作者信息及本聲明
英文原文地址:
http://www.onjava.com/pub/a/onjava/2005/05/11/sqlexplorer.html中文地址:
http://www.matrix.org.cn/resource/article/43/43630_Eclipse_SQLExplorer.html關(guān)鍵詞: Eclipse SQLExplorer MySQL JDBC
SQLExplorer是Eclipse集成開(kāi)發(fā)環(huán)境的一種插件,它可以被用來(lái)從Eclipse連接到一個(gè)數據庫。SQLExplorer插件提供了一個(gè)使用SQL語(yǔ)句訪(fǎng)問(wèn)數據庫的圖形用戶(hù)接口(GUI)。通過(guò)使用SQLExplorer,你能夠顯示表格、表格結構和表格中的數據,以及提取、添加、更新或刪除表格數據。SQLExplorer同樣能夠生成SQL腳本來(lái)創(chuàng )建和查詢(xún)表格。所以,與命令行客戶(hù)端相比,使用SQLExplorer可能是更優(yōu)越的選擇。在這篇指南中,我們將使用SQLExplorer插件建立一個(gè)從Eclipse3.0到開(kāi)源數據庫MySQL的JDBC連接。
這篇指南有如下章節:
1.概覽
2.預備安裝
3.配置 SQLExplorer
4.訪(fǎng)問(wèn)數據庫數據
概 覽通過(guò)在集成開(kāi)發(fā)環(huán)境中加入一個(gè)SQLExplorer視窗,SQLExplorer插件為Eclipse配置了一個(gè)訪(fǎng)問(wèn)數據庫的SQL客戶(hù)端。
為了演示SQLExplorer插件的使用,我們將在開(kāi)源數據庫MySQL中創(chuàng )建一個(gè)示例表,并且建立一個(gè)從Eclipse到MySQL數據庫的JDBC連接。接著(zhù),我們將在SQLExplorer的圖形SQL客戶(hù)端中提取和顯示示例數據。同樣,我們也將通過(guò)更新和刪除示例表中的數據來(lái)演示SQLExplorer插件的不同特點(diǎn)。
預 備 安 裝1. 下載并安裝
Eclipse 3.022. 下載
SQLExplorer文件 net.sourceforge.sqlexplorer_2.2.3.zip.
3. 解壓 SQLExplorer .zip 文件到 <Eclipse>/eclipse 目錄。 <Eclipse> 是Eclipse安裝的目錄。 這將把SQLExplorer插件的 features 和 plugins 目錄添加到Eclipse中的 features 和 plugins 目錄。(譯者注:這里說(shuō)得不是十分清楚,其實(shí)是先將SQLExplorer .zip文件解壓,然后分別把features 和 plugins 目錄中的所有文件拷貝到Eclipse中對應的features 和 plugins 目錄中,這是安裝Eclipse插件的常用方法,當然也可以使用link方式安裝插件,請參閱網(wǎng)上相應文檔)
4. 重啟Eclipse.
5. 安裝
MySQL數據庫。
6. 下載
Connector/J,通過(guò)使用包含在其中的一個(gè) .jar文件中的JDBC驅動(dòng)來(lái)連接MySQL數據庫。
7. 作為一個(gè)root用戶(hù)登陸到MySQL數據庫,命令如下:
>mysql -u rootroot用戶(hù)沒(méi)有設定密碼。需要通過(guò)密碼登陸到數據庫時(shí),指定如下命令:
>mysql -u root -p8. 使用如下命令連接到test數據庫,這是一個(gè)示例數據庫實(shí)例:
>use test9. 在test數據庫中創(chuàng )建一個(gè)示例表。示例表 Catalog 由ONJava上的文章名稱(chēng)組成。用來(lái)創(chuàng )建示例表的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中打開(kāi)SQLExplorer視窗。在Eclipse 集成開(kāi)發(fā)環(huán)境中單擊 “Open a perspective”按扭來(lái)打開(kāi)一個(gè)視窗。圖1說(shuō)明了“Open a perspective”按扭。
圖 1. 打開(kāi)視窗在條目列表中,選擇“Other...”來(lái)顯示SQLExplorer插件,如圖2所示。
圖 2. “ other… ”菜單項在 Select Perspective框中,選擇SQLExplorer視窗,如圖3所示。通過(guò)選擇SQLExplorer視窗,SQLExplorer插件的功能部件在Eclipse中變得可用。
圖 3. SQLExplorer 視窗Drivers 標簽顯示了不同的數據庫驅動(dòng),它們被用來(lái)連接不同的數據庫?,F在可用的數據庫包括DB2, MySQL, Oracle, Sybase, HSQLDB, SQLServer 和 PostgreSQL。針對MySQL,我們需要配置SQLExplorer。為了配置MySQL驅動(dòng),右擊 MMMySQL Driver 結點(diǎn), 并且選擇 Change the Selected Driver, 如圖4所示。
圖 4. 修改驅動(dòng)在 Modify Driver框中,選擇 Extra Class Path 標簽,并且單擊 Add 按扭將 MySQL 驅動(dòng) .jar 文件(為下載的 Connector/J 的一部分)添加到類(lèi)路徑中。圖5闡明了將MySQL 的 JDBC 驅動(dòng)加到 Eclipse 的類(lèi)路徑中。
圖 5. 設置驅動(dòng)添加 MySQL Connector/J 驅動(dòng) .jar 文件,mysql-connector-java-3.0.16-ga-bin.jar,到類(lèi)路徑中。在 Example URL 域中, 指定連接到數據庫的 URL。一個(gè)連接到 test 數據庫的JDBC連接將被創(chuàng )建,test數據庫已經(jīng)在MySQL安裝的時(shí)候預先創(chuàng )建了。連接到 test 數據庫的 URL 為 jdbc:mysql://localhost/test。在 Driver Class Name 域中,指定MySQL JDBC 驅動(dòng)為 com.mysql.jdbc.Driver。MMMySQL 驅動(dòng)按如圖6所示的設置配置。
圖 6. 設定 MySQL JDBC 設置想要連接到 MySQL 數據庫并提取其中的表格,我們需要為連接建立一個(gè)別名。一個(gè)連接的別名說(shuō)明了連接設置,JDBC 驅動(dòng),URL,用戶(hù)名和密碼。在SQLExplorer視窗中選擇 Aliases 標簽。單擊 “Create new Alias” 按扭來(lái)創(chuàng )建一個(gè)新的別名,如圖7所示。
圖 7. 創(chuàng )建一個(gè)新的別名在“Create new Alias"框中,指定一個(gè)別名。選擇MMMySQL Driver 來(lái)為MySQL數據庫創(chuàng )建一個(gè)別名。在 URL 域中指定 test 數據庫的連接 URL, jdbc:mysql://localhost/test。圖8展示了MySQL 別名的設置。
圖 8. 創(chuàng )建一個(gè)新的別名以上操作將一個(gè)MySQL的別名加入到 Aliases 標簽中,正如圖9所示。想要修改一個(gè)別名,右擊別名結點(diǎn)并選擇 “Change the selected Alias.”
圖 9. MySQL 別名MySQL 別名用來(lái)連接到 MySQL 數據庫并且從中提取數據。要想打開(kāi)數據庫連接,右擊 MySQL 別名結點(diǎn)并選擇 Open,如圖10所示。
圖 10. 打開(kāi)別名在 Connection 框中,指定登陸到 MySQL 數據庫使用的用戶(hù)名和密碼,然后單擊 OK 按扭。圖11展示了登陸的設置。缺省情況下,對于 root 用戶(hù)不需要密碼。
圖 11. 打開(kāi)連接一個(gè)與 MySQL 數據庫的 JDBC 連接就這樣建立了。一旦連接上了,Eclipse 就會(huì )顯示 MySQL 數據庫中的不同的數據庫模式,如圖12所示。
圖 12. 列出數據庫模式對其他數據庫的支持這個(gè) JDBC 連接的例子是關(guān)于配置與 MySQL 數據庫連接的。通過(guò)在 Drivers 標簽中為數據庫選擇合適的驅動(dòng),可以配置與其他數據庫的 JDBC 連接。只需為選定的數據庫指定驅動(dòng)類(lèi)和連接URL,就可以配置與該數據庫的 JDBC 連接。以下列出的是其他數據庫的驅動(dòng)類(lèi)、連接URL和驅動(dòng) .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> 是指數據庫實(shí)例,<port> 是數據庫連接端口,<sid> 是數據庫的SID,<server> 是數據庫服務(wù)器。
訪(fǎng)問(wèn)數據庫數據在上一節中我們在 Eclipse 中配置了 SQLExplorer 插件。下面,我們將從示例表 Catalog 中提取并修改數據。如果是從一個(gè)命令行 SQL 客戶(hù)端訪(fǎng)問(wèn)數據庫,則使用如下命令來(lái)提取數據(在一行中):
SQL>SELECT catalogId, journal, publisher, date,
title, author from Catalog;這將以文本表的形式顯示數據。使用圖形 SQL 客戶(hù)端 SQLExplorer,數據將以結構表的形式顯示。SQLExplorer 同樣也會(huì )生成創(chuàng )建表和從中提取數據的 SQL 腳本。如果使用 DESC 命令在一個(gè)命令行客戶(hù)端中顯示表格的結構,只有列名,列數據的類(lèi)型,列數據的長(cháng)度大小以及非空的值會(huì )被顯示。有了 SQLExplorer, 索引、主鍵和外鍵值都會(huì )被顯示。
在 Eclipse 的 SQLExplorer 視窗中選擇 Database Structure View 標簽。為了顯示表 Catalog 的結構,在 Database Structure View 中選擇 Database>test>TABLE>Catalog 結點(diǎn)。圖13顯示了表 Catalog 的結構。
圖 13. Database Structure ViewColumns 標簽顯示了下表中列出的列:
為了顯示選中的表格中的數據,請選擇 Preview 標簽。圖14顯示了表 Catalog 中的數據。關(guān)于表格的其他的信息分別在 Indexes, Primary Key, Foreign Key 和 Row Count 標簽中顯示。
圖 14. 顯示表格數據若想得到創(chuàng )建表格的 SQL 腳本,右擊表結點(diǎn)并且選擇 Create Table Script,如圖15所示。
圖 15. 生成建表腳本如圖16所示,這將生成創(chuàng )建被選表格的 SQL 腳本, 并將其顯示在 SQLExplorer 視窗中的 SQL Editor 中。
圖 16. 建表腳本Database Structure View 的 Preview 標簽中的數據是使用缺省的 Select 查詢(xún)提取的,它包括了表格中所有的列。要想顯示缺省的 Select 查詢(xún)語(yǔ)句,右擊表結點(diǎn)并且選擇 “Generate Select in Sql Editor”,如圖17所示。
圖 17. 生成缺省 select 查詢(xún)語(yǔ)句如圖18所示,SQL Editor 中顯示了從表 Catalog 中提取數據的缺省查詢(xún)語(yǔ)句。注意:顯示在 SQL Editor 中的 SELECT 查詢(xún)語(yǔ)句的結尾沒(méi)有分號(;)。
圖 18. Select 查詢(xún)語(yǔ)句查詢(xún)語(yǔ)句可能被定制為只顯示表格中的幾列數據。比如,修改 Select 語(yǔ)句使其顯示除了 CatalogId 列的其他所有列。選擇 Execute SQL 按扭來(lái)運行 SQL 腳本。由修改后的 select 語(yǔ)句得到的數據顯示在 SQL Results 框中,如圖19所示。
圖 19. 使用定制的 SELECT 查詢(xún)語(yǔ)句提取表中數據接下來(lái),SQL Editor 中的一條 SQL 腳本將會(huì )更新表 Catalog。例如,把標題“Five Favorite Features from 5.0”修改為“New Features in JDK 5.0”。如圖20所示,在 SQL Editor 中運行更新表 Catalog 的腳本
圖 20. 更新 SQL 腳本表格中數據被更新了。在修改后的表格上運行缺省的 select 查詢(xún),修改后的數據將被顯示在 SQL Results 框中。圖21顯示了表 Catalog 修改后的數據。
圖 21. 修改表格數據接著(zhù),使用 DELETE SQL語(yǔ)句從表中刪除一行數據,如圖22所示。CatalogId=‘3‘的行將從表中刪除。
圖 22. DELETE SQL 腳本運行缺省的 select 查詢(xún)語(yǔ)句來(lái)顯示修改后的表中的數據。SQL Results 框中的表格不再包括被刪除的行了,如圖23所示。
圖 23. 刪除了一行后的表格數據通過(guò)在 Eclipse 中配置 SQLExplorer 插件,該集成開(kāi)發(fā)環(huán)境獲得了圖形用戶(hù)界面(GUI)較之命令行客戶(hù)端的許多優(yōu)點(diǎn)。
總 結例子中,我們與 MySQL 數據庫建立了一個(gè) JDBC 連接,并訪(fǎng)問(wèn)其中的一個(gè)示例數據庫。SQL Explorer 同樣可以被用來(lái)配置與其他數據庫的連接,包括 DB2, Sybase, Oracle, HSQLDB, SQL Server 和 PostgreSQL。