Derby数据库学习1:概述
Topic1 概述
Derby是一个JVM平台上的RDBMS系统,能够作为独立系统使用于网络环境下,也可以作为嵌入式数据库使用,支持事务和主从复制。Derby的数据是平台无关和可复制的,数据可以随意移动到不同的平台使用而无需修改。
1.1 客户端程序编写
客户端程序编写需要CLASSPATH中包含derby.jar、当前区域对应的Locale jar(中国是derbyLocale_zh_CN.jar),如果在网络环境下使用还需要加上derbynet.jar。一个Jython实例程序如下:
# -*- coding:utf-8 -*-
import java.sql
conn = None
stmt = None
rs = None
try:
java.lang.Class.forName("org.apache.derby.jdbc.JDBC")
conn = java.sql.DriverManager.getConnection("jdbc:derby:path_to_your_db")
stmt = conn.prepareStatement("SELECT * FROM STUDENTS WHERE ID = ?")
stmt.setInt(1, 1)
stmt.executeQuery()
rs = stmt.getResultSet()
while rs.next():
print("Id:%d, name:%s, age:%d" % (rs.getInt(1), rs.getString(2), rs.getInt(3)))
except Exception, err:
print(err)
finally:
if rs:
rs.close()
if stmt:
stmt.close()
if conn:
conn.close()
1.2 命令行程序使用
derby的命令行管理主要靠bin目录下的ij实现。进入ij后,使用如下命令可以连接到数据库:
CONNECT 'jdbc:derby:path_to_your_db;create=true;user=some;password=123456;';
系统会在 path_to_your_db新建数据库。如果数据库已经存在,就将create改为false。
如果想要使用网络环境下的数据库服务器,就使用bin目录下的startNetworkServer工具:
startNetworkServer -h 127.0.0.1 -p 41000
此时当前目录下的所有数据库能够被访问。假如有一个school数据库,那么JDBC连接字符串就是
jdbc:derby://127.0.0.1:40000/school
注意驱动应为org.apache.derby.jdbc.ClientDriver,同时保证加载了derbyclient.jar。

