数据库做为数据持久化存储的重要手段怎么强度都不过分,但传统的数据库都比较庞大,需要安装配置等,对于一些比较轻量级的应用来说有点象杀鸡用牛刀一样.
Y][=#+}y[ j|@)\ Derby做为一个开源的、纯Java数据库引起了越来越多的关注,它源自IBM的CloudScape,现在成了大名鼎鼎的Apache基金会的开源项目。
:L|| ?6 }^<N;]km Apache一项是开源项目的领导者,从他们手里出去的东西都很不错,在此感谢一下这些无私奉献的人们。
~L l%Y y!B$zAh o Derby做为嵌入式数据库的一个方便之处就是对数据库的一切操控都可以在Java程序代码中实现,并且它非常的小,几个jar文件总共才2M多,非常轻巧,非常便于我们程序的移植。下面说一步步的来说明一下怎样使用。
:I=-Lj H|1aE$Y. 首先,从
http://db.apache.org/derby/下载Derby的最新版本,直接解压到本地,然后设置程序运行的环境变量。
^KfM$4(DBq W.?;MS1 在win2000/xp中“我的电脑”--》右键--》属性--》环境变量--》变量--》添加
nh'jdU aE2|zf 1.设置JAVA_HOME
8hXaGe4 z=t|EL 2.设置DERBY_INSTALL(一定要是这个名字,否则可能无法正常运行),值为解压的目录
I}g5#W {r?y O 环境变量设置好了之后,我们就可以着手写第一个测试程序了。
`t4;DY +JE!&IXH^m 和使用其它的数据库一样,首先加载数据库驱动:
"l8[W/ #?5jQ[ Class.forName("org.apachy.derby.jdbc.EmbeddedDriver");
oY-yI9RT# p3 6y5 然后我们创建一个数据库:
Q\Qw ,M VzV&9m[Y Connection conn=DriverManager.getConnection("jdbc.derby.derbyDB;create=true","user","pwd");
F~<p}-& U%>u*/:& 在上面的Url中指定create=true,则创建一个新的数据库。
4 [\PGKNx V1k2 !p 得到连接之后,我们就可以象访问其它数据库一样,进行相关操作了。
[yueG, e }{[xd$I Statement st=conn.createStatement();
G;i,:f5(Mz b3sfY}_+E st.execute("create table test1(id int,name varchar(20));
rj xp]$ _`nc YM| st.execute("insert into test1 values(1,'sinboy')");
_`qN$iO~5 4UkgflJ$ st.execute("inert into test1 values(2,'Tom')");
>[&'b_+ okA`Kfv ResultSet rs=st.executeQuery("select * from test1");
*Uhv|X [ Gde6K1}0 while(rs.next){
q6_):Wt 2`SwY=~VU^ System.out.println("id:"+rs.getInt(1)+" name:"+rs.getString(2));
qjb9 MNwp6M[ }
o'+XH\Sfj Et:W rs.close();
gJI]Zfa5 o#H^[Lb j st.close();
U_'b`wpq%5 [ $_lU7al* conn.commit();
_Ab: !Jsf K,l~y H conn.close();
2sj ?Neb v>Efoi Derby的最大好处应该还是小巧、纯Java、好移植,比较适全小量的数据存储。