现在需要讲一个B/S模式的程序程序变成一个Application,之前B/S程序采用Spring编写,整个移植只需要更换DAO层和数据存储方式就能完成,由于用户比较“阿达”一点,不可能要求他们在安装一个MySQL,所以需要找出一个替代方案,于是Derby映入眼帘。至于Derby的历史和特性我就不重复转载了,想看到http://db.apache.org/看吧。
使用JDBC访问Derby数据库,需要org.apache.derby.jdbc.EmbeddedDriver,JDBC链接地址为jdbc:derby:testDB;create=true,其中testDB为数据库名,create=true这个选项若数据库不存在就创建该数据库。有了以上的参数通过JDBC API级可以链接到该数据库。
Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
Connection conn = DriverManager.getConnection("jdbc:derby:testDB;create=true","",
"");
在移植的过程中需要将user中id设置成为自增,如果需要将字段设置曾为自增字段可以采用在创建表时使用int generated by default as identity定义字段类型。示例如下
create table user(i int generated by default as identity,
username varchar(100));
关于Derby的文件存储,若使用jdbc:derby:testDB;create=true链接Derby,Derby会在当前目录中创建testDB目录,里面存放着该数据库文件,若果你希望链接到一个非当前目录的Derby数据库,就需要在链接URL数据库名前加上路径名。如下:
jdbc:derby:test/testDB;create=true
Derby的功能还远不止这些,这里只是初探就不赘述了。