目录
怎样使用Derby数据库
1. 简介
Java6版本中新增了一个db的目录,这是java6的新成员javadb。它是一个纯 Java 实现、开源的数据库管理系统(DBMS),源于 Apache 软件基金会(ASF)名下的项目 Derby。它只有 2MB 大小,对比动辄上 G 的数据库来说可谓袖珍。但这并不妨碍 Derby 功能齐备,支持几乎大部分的数据库应用所需要的特性。作为内嵌的数据库,Java 程序员不再需要耗费大量精力安装和配置数据库,就能进行安全、易用、标准、并且免费的数据库编程。
2. 网络模式启动
# 启动网络服务器模式
startNetworkServer
# 关闭网络服务器模式
stopNetworkServer
3. ij工具连接使用
> ./ij
ij> connect 'jdbc:derby:mydb;create=true';
ij> create table t1(name varchar(10));
ij> insert into t1 values('aaaa');
ij> insert into t1 values('bbbb');
ij> insert into t1 values('cccc');
ij> select * from t1;
NAME
----------
aaaa
bbbb
cccc
4. Java内嵌模式使用
public class HelloJavaDB {
public static void main(String[] args) {
try {
// 加载驱动
Class.forName("org.apache.derby.jdbc.EmbeddedDriver").newInstance();
System.out.println("Load the embedded driver");
Connection conn = null;
Properties props = new Properties();
// 用户名密码授权
props.put("user", "user1");
props.put("password", "user1");
// 创建并获取数据库连接
conn = DriverManager.getConnection("jdbc:derby:helloDB;create=true", props);
System.out.println("create and connect to helloDB");
conn.setAutoCommit(false);
// 创建一张表和两条记录
Statement s = conn.createStatement();
s.execute("create table hellotable(name varchar(40), score int)");
System.out.println("Created table hellotable");
s.execute("insert into hellotable values('Ruth Cao', 86)");
s.execute("insert into hellotable values ('Flora Shi', 92)");
// 列出记录
ResultSet rs = s.executeQuery("SELECT name, score FROM hellotable ORDER BY score");
System.out.println("name\t\tscore");
while(rs.next()) {
StringBuilder builder = new StringBuilder(rs.getString(1));
builder.append("\t");
builder.append(rs.getInt(2));
System.out.println(builder.toString());
}
// 删除创建的表
s.execute("drop table hellotable");
System.out.println("Dropped table hellotable");
rs.close();
s.close();
System.out.println("Closed result set and statement");
conn.commit();
conn.close();
System.out.println("Committed transaction and closed connection");
try {
// 关闭并清理数据库
DriverManager.getConnection("jdbc:derby:;shutdown=true");
} catch (SQLException se) {
System.out.println("Database shut down normally");
}
} catch (Throwable e) {
// 异常捕获
}
System.out.println("SimpleApp finished");
}
}
5. 编译运行
java –cp .;%JAVA_HOME%\db\lib\derby.jar HelloJavaDB
版权所有,本作品采用知识共享署名-非商业性使用 3.0 未本地化版本许可协议进行许可。转载请注明出处:https://www.wangjun.dev//2017/01/how-to-use-derby/