HSQLDB安装与使用

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


在学习 项目资产,  流程引擎的时候,配套的数据库使用的 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',''.....)

你可能感兴趣的:(设计模式,Hibernate,应用服务器,jdbc,HSQLDB)