hsqldb快速入门

数据库环境配置和使用

首先从http://www.hsqldb.org/下载一个hsqldb的稳定版本,解压后可以浏览解压目录下的index.html,它描述了各个目录所包含内容,在doc段里有一个重要的链接User Guide: index.html,有空好好研究吧!

数据库实例创建

在hsqldb的管理中,如果启动的数据库文件不存在,就新建该数据库文件。

Hsldb启动

Hsqldb的启动模式有三种主要模式,其他参见User Guide:

Server

该模式就像启动mysql、oracle等数据库一样,数据库启动后作为一个服务存在,其他数据库工具可以通过jdbc的方式访问他,这是我们最熟悉的模式。启动脚本如下:

java -cp hsqldb.jar org.hsqldb.Server -database.0 ./db/test -dbname.0 test

后面参数:

-database.n 数据库文件(其他数据库中对应:数据库实例)地址,支持相对路径,注意使用反斜杠

-dbname.n 数据库文件的访问同义词,就是用这个名称访问数据库的

server模式jdbc访问方式:

Connection c = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost:9002/test", "sa", "");

可以启动多个数据库文件,例如:

java -cp hsqldb.jar org.hsqldb.Server -database.0 ./db/test0 -dbname.0 test0  -database.1 ./db/test1 -dbname.1 test1

In-Process (Standalone)

该模式更接近于文件型数据库这个概念,当你访问时他就启动,这种模式访问速度最快,缺点是只能当前访问线程使用,其他数据库工具不能同时访问。例如jdbc访问:

Connection c = DriverManager.getConnection("jdbc:hsqldb:file:/opt/db/testdb", "sa", "");

In-Memory

顾名思义,内存中的数据库,你所做的数据库ddl、dml不会写入磁盘,也是当你访问时他就启动。例如jdbc访问:

Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:aname", "sa", "");

Hsqldb 管理工具

hsqldb.jar中自带了一个数据库管理工具:DatabaseManagerSwing(Swing界面,还有一个是Awt界面的:DatabaseManager),该工具可以通过jdbc访问多种数据库。

我们使用server模式启动hsqldb数据库,然后运行下列命令:

java -cp hsqldb.jar org.hsqldb.util.DatabaseManagerSwing

java -cp hsqldb.jar org.hsqldb.util.DatabaseManager

就可打开主界面,连接时注意选择:Type,应该是HSQL Database Engine Server

Hsqldb关闭

对于任何一种启动模式,都可以在输入sql脚本的状态输入:SHUTDOWN 或 SHUTDOWN COMPACT 语法来关闭数据库。

对于In-process和In-memory这两种模式只要所有的连接关闭了,数据库也就关闭了。

Server模式参数设置

在server模式下可以设置一些参数,主要的例如访问端口,可以参见User Guide的第四章高级属性,一般我们可以在启动脚本的目录下编辑一个server.properties,内容如下:

server.port=9002

server.trace=true

猜你喜欢

转载自buralin.iteye.com/blog/2163044