从Java6开始,Sun的JDK就附带了一个轻量级的数据库,名字叫做Derby。也就是Java DB,由IBM于2004年捐给Apache开源项目组。Derby是一个事务关系型的数据库管理系统,体积非常的小,所有的加起来大约2M左右吧。在最新的Java JDK6发布版里,Derby默认安装在%JAVA_HOME%\db目录下,包括核心库,演示程序以及一个例子数据库。Derby的优势在于体积小,管理操作简单。对于开发者来说,你可以轻易地用代码来创建和使用数据库,进行所有的数据库操作也是相当方便的。在系统的开发阶段使用Derby,可以加快开发速度。加上Java JDBC的跨数据库平台性,要转换数据库实现也是很容易的。

 

       下面就来讲讲Derby的基本使用:

       Derby提供了一个命令行工具:ij  表示交互式JDBC脚本工具。通过ij,我们可以连接到数据库,对数据库进行各种操作。要使用ij工具,你必须把下面两个jar文件放到你系统的CLASSPATH中,关于CLASSPATH的设置,你可不要告诉我你不会啊!

       %JAVA_HOME%\db\lib\derby.jar

%JAVA_HOME%\db\lib\derbytools.jar

 

其中,derby.jar包含JDBC驱动,derbytools.jar是ij工具本身。设置好CLASSPATH后,我们就可以输入下面的命令来使用ij工具,这里我们以Derby自带的演示数据库toursdb为例:

E:\我的文档>java org.apache.derby.tools.ij

ij 版本 10.2

ij> connect ‘jdbc:derby:c:\Program Files\Java\jdk1.6.0\db\demo\databases\toursdb’;

ij> SELECT * FROM countries WHERE country LIKE 'C%';

这样就退出了ij,下面讲一下新建数据库和表的操作。要创建数据库,我们需要给connect命令带上一个”create=true”参数。如果之前已经连上一个已存在的数据库,那应该先使用disconnect命令断开连接:

ij> connect 'jdbc:derby:C:\Program Files\Java\jdk1.6.0\db\demo\databases\toursdb';

ij> disconnect;

ij> connect 'jdbc:derby:TestDB;create=true';

ij> CREATE TABLE book(title VARCHAR(50), isbn CHAR(13), author VARCHAR(50));

 

使用connect 'jdbc:derby:TestDB;create=true';创建新数据库TestDB,Derby会在当前目录(你输入java org.apache.derby.tools.ij时所在的目录)创建一个数据库,子目录名就是数据库的名称。同时在当前目录还会创建一个derby.log文件,这是一个错误日志文件,记录了异常情况下的一些信息。TestDB目录下的文件,保存的就是整个数据库的信息了,我们绝不应该直接修改这些文件!

 

 

和使用其它的数据库一样,首先加载数据库驱动:

Class.forName("org.apachy.derby.jdbc.EmbeddedDriver");

然后我们创建一个数据库:

Connection conn=DriverManager.getConnection("jdbc.derby.derbyDB;create=true","user","pwd");

在上面的Url中指定create=true,则创建一个新的数据库。

得到连接之后,我们就可以象访问其它数据库一样,进行相关操作了。