从HSQLDB主页上下载HSQLDB:
把下载的压缩文件解开,然后在系统环境变量中加入hsqldb.jar,如:
.;%JAVA_HOME%/lib/dt.jar;%JAVA_HOME%/lib/tools.jar;D:/hsqldb/lib/hsqldb.jar |
在硬盘中任意位置建一个目录作为HSQLDB数据库的主目录,然后打开命令行,进入该目录。在里面建一个server.properties文件,这是HSQLDB服务器模式的配置文件。可以在里面设置数据库服务的监听端口、服务名称、数据文件的相对和绝对路径:
#begin of 'server.properties' file #数据库服务的监听端口 #定义服务名称,也即数据库名称。数据库链接的URL即为 #jdbc:hsqldb:hsql://localhost:9001/bitan。 # 该服务在硬盘上的相对或绝对路径。file:后面可以跟相#对或绝对路径,如file:bitan表示数据文件为当前目录下的bitan.*文件。服务名和路径之间通过小数点后的数字关联。比如database.0与#dbname.0关联,database.1与dbname.1关联,……, database.n与dbname.n关联。 #end of 'server.properties' file |
进入上面设置的主目录,启动HSQLDB服务器:HSQLDB会在当前目录下寻找server.properties文件,如果没有发现该文件就使用默认设置。
D:/work/eclipse/hibe/data>java org.hsqldb.Server
|
另外开一个命令行窗口,启动HSQLDB的管理工具,这是GUI外观的程序:
D:/work/eclipse/hibe/data>java org.hsqldb.util.DatabaseManager |
首先出现的是登录窗口:
在“setting name”中填入“bitan”,下次启动管理工具时,该字串就会出现在“recent”下拉框中。点击“clr”按钮可以清除该字串。在“type”中选择HSQL Database Engine Server,然后在“URL”中输入上面server.properties中的设置。
点“OK” 登录以后,会出现下面的窗口,左边是目录窗口,右边是SQL查询窗口。我们可以在SQL查询窗口中键入任意SQL语句(包括DDL,DML等等),然后点击“Execute”执行该语句。HSQLDB安装文件的doc目录里附带了PDF和HTML格式的文档,介绍了HSQLDB的SQL语法、支持的数据类型、内置函数等等。
可以在SQL窗口里创建新表:
create table events (event_id integer identity not null, event_date date, title varchar(500)) |
(ID的自动插入方式上,HSQLDB支持identity,如sql server;也支持序列+触发器,如Oracle。)
可以插入记录:
insert into events (event_id, event_date, title) values (null, curdate(), 'bitan') |
(curdate()是HSQLDB内置函数,返回当前日期)
启动了HSQLDB服务器,我们就可以在java程序中以JDBC方式访问数据库了。hsqldb.jar中内置了JDBC驱动程序。
如下例,这是hibernate中的配置文件Hibernate.cfg.xml:
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name="connection.driver_class">org.hsqldb.jdbcDriver</property> <property name="connection.url">jdbc:hsqldb:hsql://jim:9001/bitan</property> <property name="connection.username">sa</property> <property name="connection.password"></property> <property name="connection.pool_size">1</property> <property name="dialect">org.hibernate.dialect.HSQLDialect</property> <property name="show_sql">true</property> <!-- property name="hbm2ddl.auto">update</property--> <mapping resource="hbm/Event.hbm.xml"/> </session-factory> </hibernate-configuration> |
Trackback: http://tb.blog.youkuaiyun.com/TrackBack.aspx?PostId=1665004