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 数据库可以从这里下载。