作者: 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”按扭。
圖 1. 打開視窗
在條目列表中,選擇“Other...”來顯示SQLExplorer插件,如圖2所示。
圖 2. “ other… ”菜單項
在 Select Perspective框中,選擇SQLExplorer視窗,如圖3所示。通過選擇SQLExplorer視窗,SQLExplorer插件的功能部件在Eclipse中變得可用。
圖 3. SQLExplorer 視窗
Drivers 標簽顯示了不同的數據庫驅動,它們被用來連接不同的數據庫。現在可用的數據庫包括DB2, MySQL, Oracle, Sybase, HSQLDB, SQLServer 和 PostgreSQL。針對MySQL,我們需要配置SQLExplorer。為了配置MySQL驅動,右擊 MMMySQL Driver 結點, 并且選擇 Change the Selected Driver, 如圖4所示。
圖 4. 修改驅動
在 Modify Driver框中,選擇 Extra Class Path 標簽,并且單擊 Add 按扭將 MySQL 驅動 .jar 文件(為下載的 Connector/J 的一部分)添加到類路徑中。圖5闡明了將MySQL 的 JDBC 驅動加到 Eclipse 的類路徑中。
圖 5. 設置驅動
添加 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所示的設置配置。
圖 6. 設定 MySQL JDBC 設置
想要連接到 MySQL 數據庫并提取其中的表格,我們需要為連接建立一個別名。一個連接的別名說明了連接設置,JDBC 驅動,URL,用戶名和密碼。在SQLExplorer視窗中選擇 Aliases 標簽。單擊 “Create new Alias” 按扭來創建一個新的別名,如圖7所示。
圖 7. 創建一個新的別名
在“Create new Alias"框中,指定一個別名。選擇MMMySQL Driver 來為MySQL數據庫創建一個別名。在 URL 域中指定 test 數據庫的連接 URL, jdbc:mysql://localhost/test。圖8展示了MySQL 別名的設置。
圖 8. 創建一個新的別名
以上操作將一個MySQL的別名加入到 Aliases 標簽中,正如圖9所示。想要修改一個別名,右擊別名結點并選擇 “Change the selected Alias.”
圖 9. MySQL 別名
MySQL 別名用來連接到 MySQL 數據庫并且從中提取數據。要想打開數據庫連接,右擊 MySQL 別名結點并選擇 Open,如圖10所示。
圖 10. 打開別名
在 Connection 框中,指定登陸到 MySQL 數據庫使用的用戶名和密碼,然后單擊 OK 按扭。圖11展示了登陸的設置。缺省情況下,對于 root 用戶不需要密碼。
圖 11. 打開連接
一個與 MySQL 數據庫的 JDBC 連接就這樣建立了。一旦連接上了,Eclipse 就會顯示 MySQL 數據庫中的不同的數據庫模式,如圖12所示。
圖 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 的結構。
圖 13. Database Structure View
Columns 標簽顯示了下表中列出的列:
為了顯示選中的表格中的數據,請選擇 Preview 標簽。圖14顯示了表 Catalog 中的數據。關于表格的其他的信息分別在 Indexes, Primary Key, Foreign Key 和 Row Count 標簽中顯示。
圖 14. 顯示表格數據
若想得到創建表格的 SQL 腳本,右擊表結點并且選擇 Create Table Script,如圖15所示。
圖 15. 生成建表腳本
如圖16所示,這將生成創建被選表格的 SQL 腳本, 并將其顯示在 SQLExplorer 視窗中的 SQL Editor 中。
圖 16. 建表腳本
Database Structure View 的 Preview 標簽中的數據是使用缺省的 Select 查詢提取的,它包括了表格中所有的列。要想顯示缺省的 Select 查詢語句,右擊表結點并且選擇 “Generate Select in Sql Editor”,如圖17所示。
圖 17. 生成缺省 select 查詢語句
如圖18所示,SQL Editor 中顯示了從表 Catalog 中提取數據的缺省查詢語句。注意:顯示在 SQL Editor 中的 SELECT 查詢語句的結尾沒有分號(;)。
圖 18. Select 查詢語句
查詢語句可能被定制為只顯示表格中的幾列數據。比如,修改 Select 語句使其顯示除了 CatalogId 列的其他所有列。選擇 Execute SQL 按扭來運行 SQL 腳本。由修改后的 select 語句得到的數據顯示在 SQL Results 框中,如圖19所示。
圖 19. 使用定制的 SELECT 查詢語句提取表中數據
接下來,SQL Editor 中的一條 SQL 腳本將會更新表 Catalog。例如,把標題“Five Favorite Features from 5.0”修改為“New Features in JDK 5.0”。如圖20所示,在 SQL Editor 中運行更新表 Catalog 的腳本
圖 20. 更新 SQL 腳本
表格中數據被更新了。在修改后的表格上運行缺省的 select 查詢,修改后的數據將被顯示在 SQL Results 框中。圖21顯示了表 Catalog 修改后的數據。
圖 21. 修改表格數據
接著,使用 DELETE SQL語句從表中刪除一行數據,如圖22所示。CatalogId='3'的行將從表中刪除。
圖 22. DELETE SQL 腳本
運行缺省的 select 查詢語句來顯示修改后的表中的數據。SQL Results 框中的表格不再包括被刪除的行了,如圖23所示。
圖 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