英文原文地址:
  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”按扭。

圖 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。
資 源
  sqlexplorer 
  eclipse 集成開發環境
  mysql 數據庫
deepak vohra 是nubean的顧問和人員。
新聞熱點
疑難解答