Derby資料庫使用簡介

來源:互聯網
上載者:User

  Derby資料庫是由Apache下的一個開源的DB項目,與其它DB相比,它有如下的優點:

  1. 完全用Java實現

  2. 支援JDBC及SQL標準

  3. 全部檔案只有2M左右

  4. 提供嵌入式的支援,可以簡單地嵌入到其它的Java項目

  5. 同時提供網路資料庫的功能,可以用C/S方式訪問

 

  本篇將對Derby的使用方式進行簡單的介紹:

  一、下載

    Derby項目的首頁為:http://db.apache.org/derby/index.html,大家可以在該網站找到下載路徑及相關文檔,現在的最新版本為10.5.3.0。

  二、安裝

    Derby下載檔案為一個Zip壓縮檔,只需將該壓縮檔解壓到一個目錄(這裡用DERBY_HOME代替)即可。

  三、本地訪問

    Derby可以作為一個本機資料庫使用,這點就像是Access,下面將介紹如何使用Derby提供的ij工具來建立一個新的DB。

    建立一個demo目錄,在demo目錄下運行:

    DERBY_HOME/bin/ij 

    然後輸入

    connect 'jdbc:derby:myDemo;create=true';

    建立一個新的DB名字為myDemo,儲存在目前的目錄,關於ij的用法可以輸入help;查看相關協助。

  四、網路訪問

    在demo目錄下,運行

    java -jar DERBY_HOME/lib/derbyrun.jar server start

    這時,Derby伺服器已啟動成功,預設的連接埠為1527,開啟另外一個Console,運行

    ij<br />connect 'jdbc:derby://localhost:1527/myDemo';

    則可成功的串連到剛才建立的myDemo資料庫,為便於下面測試,運行以下語句建立一個test表,並插入兩筆資料。

    create table test(id int, name varchar(20));<br />insert into test values(0, 'Jack');<br />insert into test values(1, 'Tom');

  五、Java代碼訪問

    建立Java檔案,代碼如下:

    import java.sql.Connection;<br />import java.sql.DriverManager;<br />import java.sql.ResultSet;<br />import java.sql.SQLException;<br />import java.sql.Statement;</p><p>public class DerbyDemo {</p><p>static String EMBEDED_DRIVER = "org.apache.derby.jdbc.EmbeddedDriver";<br />static String NET_DRIVER = "org.apache.derby.jdbc.ClientDriver";</p><p>static String DB_NAME = "myDemo";<br />static String HOST_URL = "//localhost:1527/";</p><p>/**<br /> * @param args<br /> */<br />public static void main(String[] args) {<br />// TODO Auto-generated method stub<br />Connection conn = null;<br />Statement stmt = null;<br />ResultSet rs = null;<br />try {<br />conn = getNetwrokConnect();<br />stmt = conn.createStatement();<br />rs = stmt.executeQuery("select * from test");<br />while (rs != null && rs.next()) {<br />System.out.println(rs.getString(2));<br />}<br />} catch (Exception ex) {<br />System.out.println(ex.getMessage());<br />} finally {<br />try {<br />rs.close();<br />} catch (Exception e) {<br />}<br />rs = null;<br />try {<br />stmt.close();<br />} catch (Exception e) {<br />}<br />stmt = null;<br />try {<br />conn.close();<br />} catch (Exception e) {<br />}<br />conn = null;<br />}<br />}</p><p>public static Connection getEmbededConnect() {<br />try {<br />Class.forName(EMBEDED_DRIVER);<br />} catch (ClassNotFoundException e) {<br />// TODO Auto-generated catch block<br />throw new RuntimeException(e.getMessage());<br />}<br />try {<br />return DriverManager.getConnection("jdbc:derby:" + DB_NAME);<br />} catch (SQLException e) {<br />// TODO Auto-generated catch block<br />throw new RuntimeException(e.getMessage());<br />}<br />}</p><p>public static Connection getNetwrokConnect() {<br />try {<br />Class.forName(NET_DRIVER);<br />} catch (ClassNotFoundException e) {<br />// TODO Auto-generated catch block<br />throw new RuntimeException(e.getMessage());<br />}<br />try {<br />return DriverManager.getConnection("jdbc:derby:" + HOST_URL<br />+ DB_NAME);<br />} catch (SQLException e) {<br />// TODO Auto-generated catch block<br />throw new RuntimeException(e.getMessage());<br />}<br />}</p><p>}<br />

    將DerbyDemo儲存到demo目錄下,運行如下代碼編譯並運行即可通過網路訪問(需按照第四步啟動伺服器)

    javac -cp DERBY_HOME/lib/derbyclient.jar DerbyDemo.java<br />java -cp .;DERBY_HOME/lib/derbyclient.jar DerbyDemo

    使用嵌入式訪問只需將main中的getNetwrokConnect改為getEmbededConnect即可。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.