在做一些小应用和测试,启动数据库比较费劲,而且搭建环境也比较麻烦,HSQL作为一种便携式数据库能很好地用于测试和练习。
这里不对HSQL做过多的介绍,只贴一下编程启动HSQL的代码片段和配置文件。
启动HSQL代码如下,敲入回车即能停止数据库服务
1 package com.kylinx.server;
2
3 import java.io.IOException;
4 import java.io.InputStream;
5 import java.util.Properties;
6
7 import org.hsqldb.Server;
8 import org.hsqldb.persist.HsqlProperties;
9 import org.hsqldb.server.ServerAcl.AclFormatException;
10 /**
11 * 编程启动HSQL DB
12 * @author Kylinx
13 * Nov 2, 2011
14 */
15 public class HsqlServer{
16
17 public static void startNormalDBServer() throws IOException,
18 AclFormatException {
19 Server dbServer = new Server();
20 Properties props = new Properties();
21 //HSQL配置文件,将易变部分写入到配置文件中,避免硬编码
22 InputStream ins =ClassLoader
23 .getSystemResourceAsStream("HsqlServer.properties");
24 props.load(ins);
25 ins.close();
26 /**
27 * HSQL本身有通过加载Properties文件进行启动
28 * 不过HSQL对Properties文件进行了分装,就变成了
29 * 我们现在看到的HsqlProperties
30 */
31 dbServer.setProperties(new HsqlProperties(props));
32 dbServer.start();
33 System.out.println("在Console中敲入回车,以停止Hsql DB服务.");
34 if (System.in.read() != 0) {
35 dbServer.stop();
36 System.out.println("Hsql DB stopped");
37 }
38 }
39
40 public static void main(String[] args) {
41 try {
42 startNormalDBServer();
43 } catch (IOException e) {
44 e.printStackTrace();
45 } catch (AclFormatException e) {
46 e.printStackTrace();
47 }
48 }
49
50 }
配置文件如下,放入类路径下即可
#HSQL数据库服务器监听端口
server.port=9001
#定义数据库名称,据此可获得JDBC的url
#sample:jdbc:hsqldb:hsql://localhost:9001/hsql
server.dbname.0=hsql
#HSQL数据库数据文件存放目录
server.database.0=file:db/data/hsql
#false => display all queries
server.silent=false
#display JDBC trace messages
server.trace=true
#打开远程访问
#server.remote_open=true
#username=SA
#password=
再贴一个demo的下载地址:Download>>