1. 程式人生 > >小巧數據庫 Apache Derby 使用攻略

小巧數據庫 Apache Derby 使用攻略

數據庫

1. Derby 介紹

將目光放在小 Derby 的原因是純綠色、輕巧、內存占用小,分分鐘在你機子跑起來,自己做點需要連接數據庫的代碼實踐非常方便。

雖然 Mysql 也可以,多一種選擇,不是也挺好麽?

Apache Derby是一個完全用 java 編寫的數據庫,Derby是一個Open source的產品。

Apache Derby非常小巧,核心部分derby.jar只有2M,既可以做為單獨的數據庫服務器使用,也可以內嵌在應用程序中使用。

官網下載地址:http://db.apache.org/derby/derby_downloads.html

點擊進入版本中,註意查看 Build Environment 需要的條件,點擊下載 zip 解壓到隨意目錄即可。

技術分享

回到頂部

2. 稍稍配置下環境變量

Derby 基於 Java 編寫,你機子上需要存在 Java JRE,具體安裝和配置就不說了。

下面是 Derby 需要配置的的系統環境變量,配置環境變量是想讓系統知道去哪找命令對應的執行程序。

Name:  DERBY_HOME    
Value: E:\Java\derby\db-derby-10.10.1.1-bin
 
在Path加入:%DERBY_HOME%\bin    

在CLASSPATH加入:%DERBY_HOME%\lib \derby.jar;%DERBY_HOME%\lib\derbyclient.jar;%DERBY_HOME%\lib\derbytools.jar;%DERBY_HOME%\lib\derbynet.jar

切到 cmd 黑框下面,敲 sysinfo

技術分享

至此,小巧的 Derby 已經成功安裝在你的電腦上,是不是很快?騷年,可以進行折騰了。

回到頂部

3. Derby 操作和 Java 訪問

a.創建數據庫,並且進行連接(存在則連接,不存在創建後連接)

connect ‘jdbc:derby:dedb;user=root;password=root;create=true‘;

b.新建系統用戶表

create table t_user(uuid varchar(32), name varchar(10), age int, address varchar(40));

c.插入一些測試數據

insert into t_user values(‘B82A6C5244244B9BB226EF31D5CBE508‘, ‘Miachel‘, 20, ‘street 1‘);insert into t_user values(‘B82A6C5244244B9BB226EF31D5CBE509‘, ‘Andrew‘, 35, ‘street 1‘);insert into t_user values(‘B82A6C5244244B9BB226EF31D5CBE510‘, ‘Orson‘, 47, ‘street 1‘);insert into t_user values(‘B82A6C5244244B9BB226EF31D5CBE511‘, ‘Rambo‘, 19, ‘street 1‘);

註意:操作 Derby 需要使用 ij 工具(和 oracle 的 plus 差不多),CMD 下面輸入 ij 即可進入 ij 模式;

創建數據庫的路徑取決於你 CMD 的路徑,如 C:\Users\Administrator> 下,創建的 Derby 數據庫就在該目錄下面;

如果你對 sql 比較熟悉的話,操作 derby 沒有任何問題。

e.在 Java 程序中使用 Derby

技術分享

import java.sql.*;public class DerbyTest {    private static String driver = "org.apache.derby.jdbc.EmbeddedDriver";    private static String protocol = "jdbc:derby:";
    String dbName = "E:\\Users\\Workspaces\\Derby\\dedb";    public static void loadDriver() {        try {
            Class.forName(driver).newInstance();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }    public void getDataFromDerby() {        try {
            Connection conn = DriverManager.getConnection(protocol + dbName + ";user=root;password=root;create=true");
            Statement statement = conn.createStatement();
            ResultSet resultSet = statement.executeQuery("select * from t_user");            while (resultSet.next()) {
                System.out.println(resultSet.getString(1));
                System.out.println(resultSet.getString(2));
            }
            conn.close();
            statement.close();
            resultSet.close();
        } catch (Exception e1) {
            e1.printStackTrace();
        }
    }    public static void main(String[] args) {
        DerbyTest derbyTest = new DerbyTest();
        loadDriver();
        derbyTest.getDataFromDerby();
    }
}

技術分享


小巧數據庫 Apache Derby 使用攻略