概述
用 Java 编写的关系数据库,可以两种模式运行:嵌入式或客户端服务器。遵循SQL标准并兼容JDBC接口。
maven依赖
xml
<dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.11.1.1</version>
</dependency>
示例
- 内存模式
java
@Test
void contextLoads() throws ClassNotFoundException, SQLException {
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
Connection connection = DriverManager.getConnection("jdbc:derby:memory:test;create=true");
Statement statement = connection.createStatement();
//创建表
statement.execute("create table tb_demo(id integer not null, name varchar(50))");
//插入数据
statement.execute("insert into tb_demo(id,name) values (1,'bob')");
statement.execute("insert into tb_demo(id,name) values (2,'pop')");
//查询数据
ResultSet resultSet = statement.executeQuery("select * from tb_demo");
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
System.out.println("id: " + id + " name: " + name);
}
}
- 文件模式
java
@Test
void contextLoads1() throws ClassNotFoundException, SQLException {
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
Connection connection = DriverManager.getConnection("jdbc:derby:E:\\db\\derby.db;create=true");
Statement statement = connection.createStatement();
//创建表
statement.execute("create table tb_demo(id integer not null, name varchar(50))");
//插入数据
statement.execute("insert into tb_demo(id,name) values (1,'bob')");
statement.execute("insert into tb_demo(id,name) values (2,'pop')");
//查询数据
ResultSet resultSet = statement.executeQuery("select * from tb_demo");
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
System.out.println("id: " + id + " name: " + name);
}
}
- 客户端服务器模式(需要先下载、安装、启动Derby网络服务器)
java
@Test
void contextLoads1() throws ClassNotFoundException, SQLException {
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
Connection connection = DriverManager.getConnection("jdbc:derby://127.0.0.1:1527/testdb;create=true,"userName", "******");
Statement statement = connection.createStatement();
//创建表
statement.execute("create table tb_demo(id integer not null, name varchar(50))");
//插入数据
statement.execute("insert into tb_demo(id,name) values (1,'bob')");
statement.execute("insert into tb_demo(id,name) values (2,'pop')");
//查询数据
ResultSet resultSet = statement.executeQuery("select * from tb_demo");
while (resultSet.next()) {
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
System.out.println("id: " + id + " name: " + name);
}
}