文章目录
引言
Apache Derby 是一个完全用 Java 编写的开源关系型数据库管理系统(RDBMS),由 Apache 软件基金会管理。它以其轻量级、易于使用和跨平台等特点,在嵌入式系统、小型项目、移动应用及教学领域广受欢迎。本文将详细介绍 Apache Derby 的原理、基础使用、高级使用以及其主要优点,并附上官网链接。
官网链接
原理
Apache Derby 是一个基于 SQL 标准的嵌入式数据库引擎,其核心完全由 Java 实现。它支持标准的 JDBC API,可以无缝集成到任何 Java 应用程序中。Derby 既可以作为独立的数据库服务器运行,也可以以嵌入式模式嵌入到 Java 应用中,无需单独的数据库服务器进程。
基础使用
安装与配置
Apache Derby 可以通过多种方式安装和配置:
- 从官网下载 :访问 Apache Derby 下载页面 下载最新版本。
- 集成在 JDK 中 :从 JDK 1.6 开始,Derby 已经作为 JDK 的一部分,可以直接在 JDK 的
db
文件夹中找到。
数据库操作
创建数据库和表
在 Derby 中,你可以使用 SQL 语句来创建数据库和表。例如,使用 ij 工具(Derby 的交互式命令行工具)或直接在 Java 程序中执行 SQL 语句。
sql
-- 创建数据库(嵌入式模式)
CONNECT 'jdbc:derby:myDatabase;create=true';
-- 创建表
CREATE TABLE users (
id INT NOT NULL,
name VARCHAR(100),
age INT
);
插入、查询、更新和删除数据
sql
-- 插入数据
INSERT INTO users (id, name, age) VALUES (1, 'Alice', 30);
-- 查询数据
SELECT * FROM users;
-- 更新数据
UPDATE users SET age = 31 WHERE id = 1;
-- 删除数据
DELETE FROM users WHERE id = 1;
在 Java 程序中使用 Derby
在 Java 程序中,你需要加载 Derby 的 JDBC 驱动,并创建数据库连接。
java
import java.sql.*;
public class DerbyExample {
public static void main(String[] args) {
try {
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
Connection conn = DriverManager.getConnection("jdbc:derby:myDatabase;create=true");
Statement stmt = conn.createStatement();
// 执行 SQL 语句...
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
高级使用
客户端/服务器模式
除了嵌入式模式外,Derby 还支持客户端/服务器模式,允许通过网络访问数据库。
java
// 连接到 Derby 服务器
Connection conn = DriverManager.getConnection("jdbc:derby://localhost:1527/myDatabase;user=admin;password=admin");
在使用服务器模式之前,需要启动 Derby 的网络服务器。
事务处理
Derby 支持事务处理,可以在多个操作上提供 ACID(原子性、一致性、隔离性、持久性)保证。
java
conn.setAutoCommit(false);
// 执行多个 SQL 语句...
conn.commit();
数据加密与安全性
Apache Derby 提供了全面的磁盘加密功能,可以保护数据库文件的安全。同时,它也支持用户密码的存储与认证,确保网络传输过程中的数据安全性。
优点
- 轻量级与灵活性:Derby 体积小,易于嵌入到任何 Java 应用程序中,无需复杂的安装和配置。
- 跨平台:作为 Java 应用程序,Derby 可以在所有支持 Java 的平台上运行。
- 开源与社区支持:Apache Derby 是开源项目,拥有活跃的开源社区,提供持续的更新和完善,以及丰富的文档和支持资源。
- 易于使用:Derby 设计简洁,提供了易于理解和维护的 API 和工具。
- 安全性:支持数据加密和用户密码认证,确保数据的安全性。
总结
Apache Derby 凭借其轻量级、跨平台、易用性、安全性和强大的社区支持,成为了一个值得信赖的开源数据库选择。无论你是独立开发者,还是大型团队的一员,Derby 都能满足你在数据存储和管理上的需求。希望本文能帮助你更好地了解和使用 Apache Derby。