首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Apache Derby 輕量級資料庫完整上手指南

     編輯:Java 綜合教學

為什麼選擇 Apache Derby?

Apache Derby 是一個完全由 Java 編寫的開源關聯式資料庫,核心 derby.jar 僅約 2MB,具備純綠色、輕量級、記憶體佔用極低的特點。它既可作為獨立資料庫伺服器運行,也能內嵌於應用程式中,非常適合開發測試、嵌入式應用或輕量級專案。

官方下載網址:https://db.apache.org/derby/derby_downloads.html

環境變數配置

Derby 基於 Java,需先安裝 JRE。接著配置系統環境變數(以 Windows 為例):

變數名: DERBY_HOME
變數值: 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

打開命令提示字元執行 sysinfo,若顯示版本資訊即代表安裝成功:

Derby 基本操作與 Java 整合

使用 ij 工具操作資料庫

在 CMD 中輸入 ij 進入互動模式。注意:資料庫建立路徑取決於當前 CMD 的工作目錄。

-- 建立並連線資料庫(不存在則自動建立)
connect 'jdbc:derby:dedb;user=root;password=root;create=true';

-- 建立使用者表
create table t_user(uuid varchar(32), name varchar(10), age int, address varchar(40));

-- 插入測試資料
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');

Java 程式連線 Derby(嵌入模式)

import java.sql.*;

public class DerbyTest {
    private static String driver = "org.apache.derby.jdbc.EmbeddedDriver";
    private static String protocol = "jdbc:derby:";
    private 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 stmt = conn.createStatement();
             ResultSet rs = stmt.executeQuery("select * from t_user")) {

            while (rs.next()) {
                System.out.println(rs.getString(1)); // uuid
                System.out.println(rs.getString(2)); // name
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        loadDriver();
        new DerbyTest().getDataFromDerby();
    }
}

以上範例展示了驅動載入、連線建立、查詢執行與資源自動關閉(try-with-resources)的完整流程。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved