Connection conn = DriverManager.getConnection(JDBC_URL, USER, PASSWORD);
Statement statement = conn.createStatement();
//删除表
statement.execute(“DROP TABLE USER_INF”);
//创建表
statement.execute(“CREATE TABLE USER_INF(id VARCHAR(50) PRIMARY KEY, name VARCHAR(50) NOT NULL, sex VARCHAR(50) NOT NULL)”);
//插入数据
statement.executeUpdate("INSERT INTO USER_INF VALUES(‘1’, ‘程咬金’, ‘男’) ");
statement.executeUpdate("INSERT INTO USER_INF VALUES(‘2’, ‘孙尚香’, ‘女’) ");
statement.executeUpdate("INSERT INTO USER_INF VALUES(‘3’, ‘猴子’, ‘男’) ");
//查询数据
ResultSet resultSet = statement.executeQuery(“select * from USER_INF”);
while (resultSet.next()) {
System.out.println(resultSet.getInt(“id”) + ", " + resultSet.getString(“name”) + ", " + resultSet.getString(“sex”));
}
//关闭连接
statement.close();
conn.close();
}
}
输出结果:
1, 程咬金, 男
2, 孙尚香, 女
3, 猴子, 男
当程序运行完之后,会在当前项目根目录生成一个derbyDB文件夹,里面会存放一些持久化的数据,当下次再连接derbyDB数据库名称时,可以查询出之前插入的历史数据,这个特性可以防止数据丢失!
值得注意的是:derby 对很多 mysql 的关键字并不支持,同时 derby 不支持插入空值。
在之后的版本中,derby 还可以作为一个数据库服务器,通过jar启动单独部署在一台服务器上,在连接地址上加上 IP 和端口号,例如jdbc://derby://localhost:1527/derbyDB。
如果想使用可视化客户端工具来访问和管理derby,可以使用SQuirreL SQL Client客户端,下载地址http://www.squirrelsql.org/#installation。
在目前绝大多数的关于嵌入式数据库应用中,derby 的出场次数还是较少。
三、SQLite
SQLite 是 D.RichardHipp 用一个小型的C库开发的一种强有力的嵌入式关系数据库,虽然功能较 Berkeley DB(商业数据库)稍显逊色,但它简单易学、速度较快,同时提供了丰