刚好有个小应用要嵌个小型的数据库, 查了下资料, 打算试试HSQLDB.
一上官网, 好东西, 新版2.0, 就试这个了. 既然是要嵌到应用里的, 当然要去查一下整合的方式, 查了好一会, 查到个用Servlet启动DB Server的方法, 看了下, 有点麻烦, 也不太想启动个DB Server, 看Jboss好像也没这么干...
然后干脆直接看官方文档(http://hsqldb.org/doc/2.0/guide/index.html )了, 第一眼扫目录, 好像没看到什么合用的, 那就一条条看下去吧~呀, 终于在 "In-Process Access to Database Catalogs " 这节看到想要的东西了, 晕, 开头看到这个还真完全没反应过来...
按文档所述, In-Process(进程内嵌??)模式使用数据库有三个模式: 文件(file), 内存(mem), 资源(res), 它们的调用方式分别是:
文件:
Connection c = DriverManager.getConnection("jdbc:hsqldb:file:testdb", "SA", ""); 或 Connection c = DriverManager.getConnection("jdbc:hsqldb:file:/opt/db/testdb", "SA", "");
内存:
Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:mymemdb", "SA", "");
资源:
Connection c = DriverManager.getConnection("jdbc:hsqldb:res:org.my.path.resdb", "SA", "");
另外, 在In-Process模式时, 当应用第一次调用DriverManager.getConnection时, HSQLDB的驱动会去查找数据库是否存在, 不存在的话就按给出的路径初始化一个出来.
看完文档随便写了个测试...RAR包
搞这个的时候还有遇到了点小麻烦...竟然sf上下载的2.0的包是J1.6的...查了我好一会...最后终于还是在官网找到1.5的版本 ...