HSQLDB创建数据库和基本的数据库访问
一、 简介
Hsqldb是一个纯java编写的轻量级数据库,主要有三种运行模式:
1.Server模式
2.Standlone模式
3.Memory-Only模式
其中server模式又分为:
1.Hsqldb Server模式
2.Hsqldb Web Server模式
3.Hsqldb Servlet模式
二、 官网和最新版本
访问Hsqldb的官方地址:http://hsqldb.org/,下载最新的hsqldb,下载地址:
http://nchc.dl.sourceforge.net/project/hsqldb/hsqldb/hsqldb_2_1/hsqldb-2.1.0.zip,我下载时的最新版本是2.1.0。下载后解压。
三、 使用HSQL数据库
下面介绍一下如何创建数据库:
1. 创建文件夹
在E盘下建立一个目录hsqldb文件夹(这个是任意建立的,呵呵),将hsqldb.jar拷贝到里面,然后再里边再建立一个data的文件夹(当然这个文件夹也是任意建立的,起其他名字也可以)如下图所示:

图0
2. 创建数据库
进入命令提示符,进入data文件夹,输入命令:
E:\hsqldb\data java -cp ../hsqldb.jar org.hsqldb.Server -database mydb
这时候,data文件夹中就会出现两个文件:mydb.log 和 mydb.properties ,也就是创建了一个名称为mydb的数据库,如下图所示。注意,这也是数据库引擎的启动界面,如果将其关闭,第三步不能成功,因为数据库启动引擎关闭了,特别要注意,呵呵。

图1
生成的数据库文件如下图所示:

图2
3. 客户端工具
另外打开一个CMD终端,进入到E:\hsqldb\data目录,输入命令:java -cp ../hsqldb.jar org.hsqldb.util.DatabaseManager (注:还是在data目录执行这个命令),就会出现一个数据库控制界面,如图:(这里选择的是In-Memory模式,当然Server模式也可以)

图3

图4
4. 创建表及插入数据
下面咱们以Server运行模式为例介绍,点击“ok”按钮进入系统。在脚本执行框中,输入:
create table customer(id integer not null primary key,firstname varchar(60),lastname varchar(60));
点击“Execute”按钮,这样就创建了一个名字为customer的数据表。
再执行:
insert into customer values(1,'Anker','Jia');
点击Execute按钮,就插入了一条数据。
再执行:
select * from customer;
就可以查询出这条数据了,如下图所示:

图5
如果现在我们把数据库运行引擎关闭,即关闭图1中所示的运行引擎。如果再次运行引擎,即:java -cp ../hsqldb.jar org.hsqldb.Server -database mydb ,就会在data文件夹中出现一个文件mydb.srcipt,这里面保存着数据执行文件,运行时会执行这个文件中sql语句。也就是说,数据以sql的形式保存在mydb.srcipt文件里面,再次运行引擎时,会再次插入这些保存的数据,这样会看到上次咱们建立的customer的数据表,如下图示:

图6
上面是启动数据库(包括建立)和查看的方法,供大家参考,如果要研究hibernate的一些特性,就需要像mysql,oracle等大型数据库服务了,一个小小的jar包,就是一个数据库,作为测试很是方便。
5. 给数据库起别名
创建命令:java -cp ../hsqldb.jar