在http://sourceforge.net/projects/hsqldb/files/下载了HSQLDB 1.8.0版本。把下载的zip文件解压缩至任意目录例如c:\hsqldb1.8便完成安装。
hsqldb有四种运行模式:
一、内存(Memory-Only)模式:所有数据都在内存里操作。应用程序退出后则数据被销毁。
启动方式1:通过程序中首次调用Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:myDbName", "sa", "");时。
启动方式2:你也可以在server.properties中指定相同的URL来运行一个Memory-Only(仅处于内存中)服务器实例。
JDBC实例:jdbc:hsqldb:mem:testDbName
二、进程(In-Process)模式:从应用程序启动数据库。因为所有数据被写入到文件中,所以即使应用程序退出后,数据也不会被销毁。 跟Memory-Only模式一样,In-Process不需要另外启动,通过DriverManager.getConnection(jdbcUriName, "sa", "");方式既可启动。
JDBC实例:
jdbc:hsqldb:file:/C:/testdb/testDbName
jdbc:hsqldb:file:/opt/db/myDbName
jdbc:hsqldb:file:myDbName
三、服务器模式:该模式下HSQLDB跟其他数据库服务器一样,以服务器的形式被启动。 通过java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 testdb -dbname.0 testDbName之类的命令启动HSQLDB守护进程。
JDBC实例:
jdbc:hsqldb:hsql://localhost:9001/testDbName
四、Web服务器模式:该模式HSQLDB以WEB服务器的形式启动,并通过HTTP协议接受客户端命令。从1.7.2开始,WEB服务器模式的HSQLDB开始支持事务。 java -cp ../lib/hsqldb.jar org.hsqldb.WebServer -database.0 mydb -dbname.0 myDbName
现以介绍hsqldb服务器模式的启动方法:
因为In-Process模式以及Memory-Only模式可以无需另外启动HSQLDB,下面介绍服务器模式的启动方法。
假设我们需要创建/启动一个名为testdb的数据库。
先在c:\hsqldb1.8目录下创建testdb目录。
1.创建runTestdb.bat文件,其内容为:
- java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 testdb -dbname.0 testdbname
2.再创建UITestdb.bat,用来启动图形界面管理工具,其内空为:
- java -cp ..\lib\hsqldb.jar org.hsqldb.util.DatabaseManager -url jdbc:hsqldb:hsql://localhost/testdbname
org.hsqldb.util.DatabaseManager还可以换为其它工具类:
org.hsqldb.util.DatabaseManagerSwing
hebernate.properties内容:
driverClass=org.hsqldb.jdbcDriver
url=jdbc:hsqldb:hsql://localhost/testdb
username=sa
password=
dialect=org.hibernate.dialect.HSQLDialect
HSQLDB-2.0版本稍有点区别:
1.创建runTestdb.bat文件,其内容为:
- java -cp ../lib/hsqldb.jar org.hsqldb.server.Server -database.0 testdb -dbname.0 testdbname
2.JDBC驱动类:org.hsqldb.jdbc.JDBCDriver