HSQLDB安装与使用

转载:[url]http://www.josdoc.com/html/shujuku/HSQLDB/rumenjiaocheng/200904/19-52.html[/url]


在学习 项目资产, 流程引擎的时候,配套的数据库使用的 HSQLDB

针对的学习了 下面的一些关于 HSQL的知识

轻量级的纯Java开发的开放源代码的关系数据库系统,使用简单、支持内存运行方式等,广泛应用于开发环境和中小应用。

四种运行模式:

内存模式、进程模式、服务器模式、Web服务器模式

服务的安装,下载解压即安装

HSQLDB服务器模式的启动方法
In-Process、Memory-Only模式无需另外启动HSQLDB
服务器模式的处理流程(创建和启动mydb数据库):
1. 数据库安装文件跟目录,创建mydb文件夹
2. 创建runMydb.bat
java -cp ..\lib\hsqldb.jar org.hsqldb.Server -database mydb

java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 mydb -dbname.0 mydb
3. 创建manageMydb.bat
java -cp ..\lib\hsqldb.jar org.hsqldb.Server -database mydb

java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 mydb -dbname.0 mydb
4. 主要的工具类
org.hsqldb.util.DatabaseManager
org.hsqldb.util.DatabaseManagerSwing
org.hsqldb.util.Transfer
org.hsqldb.util.QueryTool
org.hsqldb.util.SqlTool
5. 使用JDBC连接HSQLDB数据库
try {
Class.forName("org.hsqldb.jdbcDriver" );
} catch (Exception e) {
System.out.println("ERROR: failed to load HSQLDB JDBC driver.");
e.printStackTrace();
return;
}

Connection c = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/mydb", "sa", "");
6. Hibernate中使用HSQLDB hibernate.cfg.xml
7. <hibernate-configuration>
<session-factory>
...
<property name="connection.driver_class">org.hsqldb.jdbcDriver</property>

<property name="connection.url">jdbc:hsqldb:hsql://localhost/mydb</property>
<property name="connection.username">sa</property>
<property name="connection.password"></property>

<property name="dialect">org.hibernate.dialect.HSQLDialect</property>
...
</session-factory>
</hibernate-configuration>

8. 数据库具体表、数据的创建应该可以在 manage客户端进行(一般都是applet或者web页面)


本地联系 mytest数据库,通过 管理客户端进行数据库的设计
问题: HSQL的SQL语句的规则

通过link(http://zeroliu.blogdriver.com/zeroliu/1242671.html)的学习了解到 HSQL号称内存数据,在内存模式下所有数据不会保持;单机、服务器等模式下 所有的数据库操作会保存到一个 database.script 中,再次启动HSQLDB的时候 会快速的运行这个脚本回复数据库
1.内存驻留模式中只允许有一个数据库连接,所以在进行处理的时候要注意数据库连接的释放
Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:aname", "sa", "");


2.单机模式,应用程序使用JDBC创建数据库连接,并且hsqldb引擎作为应用程序的一部分运行在同一个jvm之下。此时数据库只允许一个应用去访问,也就是应用程序无法和数据库管理同时进行,适合部署模式
jdbc:hsqldb:zzq
或者 jdbc:hsqldb:c:\db\zzq

3.服务器模式,允许使用TCP套接字的并发链接
java -cp ../lib/hsqldb.jar org.hsqldb.Server ?database zzq

4.web服务器模式,db以web服务器的形式启动,允许jdbc驱动通过http执行sql;也可以以标准的servlet运行,运用于需要穿透防火墙的情况
Java org.hsqldb.WebServer ?database zzq


回到上面的问题,hsql的脚步可以在 database.script 里面阅读
CREATE MEMORY TABLE CUSTOMER(ID INTEGER NOT NULL PRIMARY KEY,FIRSTNAME VARCHAR,LASTNAME VARCHAR,STREET VARCHAR,CITY VARCHAR)

CREATE SEQUENCE S_PROCESS_UNIFY_SENDER AS INTEGER START WITH 0

CREATE SCHEMA PUBLIC AUTHORIZATION DBA

CREATE INDEX INDEX_PROCESS_PI ON PROCESS_INSTANCE(TEMPLATENAME,DRAFTERNAME,STATUS)

GRANT DBA TO SA

INSERT INTO PROCESS_TEMPLATE VALUES('ContractSupport',''.....)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值