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