HOWTO · Java

Java 中的嵌入式資料庫

本教程演示了 Java 中嵌入式資料庫的比較。

一種將資料庫解決方案嵌入到應用程式中的資料庫技術,而不是獨立的,稱為嵌入式資料庫。這些資料庫是輕量級、快速的,並且易於配置和改進的可測試性,這使得它們在開發和測試階段很有幫助。

Java 有許多型別的嵌入式資料庫。本教程比較了 Java 中嵌入式資料庫的一些最佳選擇。

下圖演示了嵌入式資料庫的工作原理。

嵌入式資料庫

Apache Derby

Apache Derby 是一個用 Java 實現的開源資料庫。該資料庫在 Apache 的許可下。

該資料庫的標準是 JDBC 和 SQL。它還支援客戶端/伺服器模式。

derby 支援關聯式資料庫的所有特性。

我們使用 derby.jar 在 Java 中實現 Apache derby。要進行連線,請遵循以下命令。

// load driver
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
Connection c = DriverManager.getConnection("jdbc:derby:testdb1;create=true")

create=true 將建立資料庫,如果它不存在,然後建立連線;如果資料庫不存在,我們僅在要建立資料庫時使用此引數。

Apache derby jar 可以從這裡下載。

HSQLDB(HyperSQL 資料庫)

HyperSQL 是根據 SQL 標準和 JDBC 規範制定的。HyperSQL 支援現代關聯式資料庫中使用的所有功能。

它支援嵌入式和伺服器模式。這個資料庫純粹是用 Java 開發的。

HyperSQL 還支援 PreparedStatementCallableStatement;它還支援兩階段鎖定和多版本併發控制。

HyperSQL 包含在一個 jar 包中,其中包括 HyperSQL、RDBMS 引擎和 JDBC 驅動程式,用於將 HyperSQL 嵌入到 Java 應用程式中。要在 Java 中連線 HyperSQL,請執行以下命令。

// load driver
Class.forName("org.hsqldb.jdbcDriver");
Connection connection = DriverManager.getConnection("jdbc:hsqldb:testdb", "sa", "");

HyperSQL 包可以從這裡下載。

H2

H2 也是一個基於 SQL 標準和 JDBC API 支援的開源資料庫。它還支援嵌入式和伺服器模式、多版本併發和行級鎖定。

要在 Java 中與 H2 建立連線,請執行以下命令。

// load driver
Class.forName("org.h2.Driver");
Connection connection = DriverManager.getConnection("jdbc:h2:~/test", "sa", "");

其中~/ 表示使用者主目錄,與其他資料庫相比,H2 比較全面。

H2 資料庫可以從這裡下載。