Apache Derby: 开源关系型数据库管理系统

文章目录

引言

Apache Derby 是一个完全用 Java 编写的开源关系型数据库管理系统(RDBMS),由 Apache 软件基金会管理。它以其轻量级、易于使用和跨平台等特点,在嵌入式系统、小型项目、移动应用及教学领域广受欢迎。本文将详细介绍 Apache Derby 的原理、基础使用、高级使用以及其主要优点,并附上官网链接。

官网链接

Apache Derby 官网

原理

Apache Derby 是一个基于 SQL 标准的嵌入式数据库引擎,其核心完全由 Java 实现。它支持标准的 JDBC API,可以无缝集成到任何 Java 应用程序中。Derby 既可以作为独立的数据库服务器运行,也可以以嵌入式模式嵌入到 Java 应用中,无需单独的数据库服务器进程。

基础使用

安装与配置

Apache Derby 可以通过多种方式安装和配置:

  1. 从官网下载 :访问 Apache Derby 下载页面 下载最新版本。
  2. 集成在 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 提供了全面的磁盘加密功能,可以保护数据库文件的安全。同时,它也支持用户密码的存储与认证,确保网络传输过程中的数据安全性。

优点

  1. 轻量级与灵活性:Derby 体积小,易于嵌入到任何 Java 应用程序中,无需复杂的安装和配置。
  2. 跨平台:作为 Java 应用程序,Derby 可以在所有支持 Java 的平台上运行。
  3. 开源与社区支持:Apache Derby 是开源项目,拥有活跃的开源社区,提供持续的更新和完善,以及丰富的文档和支持资源。
  4. 易于使用:Derby 设计简洁,提供了易于理解和维护的 API 和工具。
  5. 安全性:支持数据加密和用户密码认证,确保数据的安全性。

总结

Apache Derby 凭借其轻量级、跨平台、易用性、安全性和强大的社区支持,成为了一个值得信赖的开源数据库选择。无论你是独立开发者,还是大型团队的一员,Derby 都能满足你在数据存储和管理上的需求。希望本文能帮助你更好地了解和使用 Apache Derby。

相关推荐
fthux4 小时前
如果你用 Mac,那你可能需要 Noti Shift
macos·开源·github
冬奇Lab16 小时前
每日一个开源项目(第145篇):Trellis - 把项目记忆、规范和任务上下文持久化进代码仓库
人工智能·开源·资讯
GBASE19 小时前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
小爷毛毛_卓寿杰1 天前
我把一个 3B 模型塞进了 Xinference,然后它干掉了 DeepSeek V3.2
人工智能·开源·github
饼干哥哥1 天前
扣子3.0测评:我让 Codex 和 Claude Code 住同一个桌面,结果它们打架了!
人工智能·开源·代码规范
HelloGitHub1 天前
《HelloGitHub》第 123 期
开源·github
xiezhr1 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
修己xj1 天前
基于 Datasheet 二次开发:一个纯浏览器端的 PostgreSQL 数据分析工具
开源
冬奇Lab2 天前
每日一个开源项目(第144篇):ai-website-cloner-template - 一条命令、多 Agent 并行,把任意网站逆向成 Next.js 代码
前端·人工智能·开源