• hsqldb快速入门


       数据库环境配置和使用

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

     

    数据库实例创建

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

    Hsldb启动

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

    l        Server

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

     

    后面参数:

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

    -dbname.n 数据库文件的访问同义词,就是用这个名称访问数据库的server模式jdbc访问方式:

     

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

    l        In-Process (Standalone)

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

    l        In-Memory

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

    Hsqldb 管理工具

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

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

    就可打开主界面

     

    连接时注意选择:Type,应该是HSQL Database Engine Server

    对于第一次使用可以使用它自带的功能,创建一些测试表,挺好的吧:

     

    好了你就可以写些语法数据库语法了:

     

    你可以直接关闭它但数据库不受影响,仍然启动着。

     

    Hsldb关闭

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

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

     

    Server模式参数设置

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

    Sqltool工具使用

     

    在目录src/org/hsqldb/sample下有一个sqltool.rc文件,将其拷贝到工具使用命令目录中,修改如下片断:

    其中urlid就是启动hsqldb的参数-dbname.0 test

     

    然后使用如下命令:

    大家可以通过“java -jar hsqldb.jar –help”看看其他的参数

     

    好了给大家一个整理的压缩包,别忘了装jdk1.4

     

     

    web应用中嵌入hsqldb

    写一个Listener

    hsqldb嵌入到web应用首要解决的问题是数据库的启动和关闭问题,参考springside项目的方法加入一个容器级的Listener,代码如下:

     

    增加web.xml配置

    web.xml配置增加如下:

     

     

    好了,你现在可以像访问mysqloracle等其他数据库一样配置jdbc连接访问hsqldb了,在HsqlListener中有一个类org.hsqldb.Server,有空你可以研究一下他的源码。

    作者:fengyifei11228 发表于2010-12-11 18:17:00 原文链接
    阅读:4 评论:0 查看评论
  • 相关阅读:
    [dj]Django外键(ForeignKey)操作以及related_name的作用
    [java]快速创建servlet和springmvc测试项目
    [sql]mybatis中动态sql
    [sql]mysql中使用 where 1=1和 0=1 的作用及好处
    [sql]sql中分组查询/union/join
    JavaScripts学习日记——DOM SAX JAXP DEMO4J XPath
    JavaScripts学习日记——XML DTD Schema
    JavaScripts学习日记——DOM
    JavaScripts学习日记——BOM
    JavaScripts学习日记——ECMAscript
  • 原文地址:https://www.cnblogs.com/fyfblog/p/2097148.html
Copyright © 2020-2023  润新知