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 还支持 PreparedStatement
和 CallableStatement
;它还支持两阶段锁定和多版本并发控制。
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 数据库可以从这里下载。
相关文章
如何在 Java 中延迟几秒钟的时间
发布时间:2023/12/17 浏览次数:217 分类:Java
-
本篇文章主要介绍如何在 Java 中制造程序延迟。本教程介绍了如何在 Java 中制造程序延时,并列举了一些示例代码来了解它。
如何在 Java 中把 Hashmap 转换为 JSON 对象
发布时间:2023/12/17 浏览次数:187 分类:Java
-
它描述了允许我们将哈希图转换为简单的 JSON 对象的方法。本文介绍了在 Java 中把 Hashmap 转换为 JSON 对象的方法。我们将看到关于创建一个 hashmap,然后将其转换为 JSON 对象的详细例子。
如何在 Java 中按值排序 Map
发布时间:2023/12/17 浏览次数:171 分类:Java
-
本文介绍了如何在 Java 中按值对 Map 进行排序。本教程介绍了如何在 Java 中按值对 Map
进行排序,并列出了一些示例代码来理解它。
如何在 Java 中打印 HashMap
发布时间:2023/12/17 浏览次数:192 分类:Java
-
本帖介绍了如何在 Java 中打印 HashMap。本教程介绍了如何在 Java 中打印 HashMap 元素,还列举了一些示例代码来理解这个主题。
在 Java 中更新 Hashmap 的值
发布时间:2023/12/17 浏览次数:146 分类:Java
-
本文介绍了如何在 Java 中更新 HashMap 中的一个值。本文介绍了如何在 Java 中使用 HashMap 类中包含的两个方法-put() 和 replace() 更新 HashMap 中的值。
Java 中的 hashmap 和 map 之间的区别
发布时间:2023/12/17 浏览次数:79 分类:Java
-
本文介绍了 Java 中的 hashmap 和 map 接口之间的区别。本教程介绍了 Java 中 Map 和 HashMap 之间的主要区别。在 Java 中,Map 是用于以键值对存储数据的接口,
在 Java 中获取用户主目录
发布时间:2023/12/17 浏览次数:218 分类:Java
-
这篇文章向你展示了如何在 Java 中获取用户主目录。本教程介绍了如何在 Java 中获取用户主目录,并列出了一些示例代码以指导你完成该主题。
Java 中 size 和 length 的区别
发布时间:2023/12/17 浏览次数:179 分类:Java
-
这篇文章教你如何知道 Java 中大小和长度之间的区别。本教程介绍了 Java 中大小和长度之间的区别。我们还列出了一些示例代码以帮助你理解该主题。
Java 中的互斥锁
发布时间:2023/12/17 浏览次数:111 分类:Java
-
了解有关 Java 中互斥锁的一切,在计算机科学领域,互斥或互斥被称为并发控制的属性。每台计算机都使用称为线程的最小程序指令序列。有一次,计算机在一个线程上工作。为了更好地理解,