HSQLDB数据库安装启动及JDBC连接

HSQLDB 是一个轻量级的纯Java开发的开放源代码的关系数据库系统。因为HSQLDB的轻量(占用空间小),使用简单,支持内存运行方式等特点,HSQLDB被广泛用于开发环境和某些中小型系统中。
http://sourceforge.net/projects/hsqldb/files/下载了HSQLDB 1.8.0版本。把下载的zip文件解压缩至任意目录例如c:\hsqldb1.8便完成安装。
hsqldb有四种运行模式:
一、内存(Memory-Only)模式:所有数据都在内存里操作。应用程序退出后则数据被销毁。
启动方式1:通过程序中首次调用Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:myDbName", "sa", "");时。
启动方式2:你也可以在server.properties中指定相同的URL来运行一个Memory-Only(仅处于内存中)服务器实例。
JDBC实例:jdbc:hsqldb:mem:testDbName
二、进程(In-Process)模式:从应用程序启动数据库。因为所有数据被写入到文件中,所以即使应用程序退出后,数据也不会被销毁。 跟Memory-Only模式一样,In-Process不需要另外启动,通过DriverManager.getConnection(jdbcUriName, "sa", "");方式既可启动。
JDBC实例:
jdbc:hsqldb:file:/C:/testdb/testDbName
jdbc:hsqldb:file:/opt/db/myDbName
jdbc:hsqldb:file:myDbName
三、服务器模式:该模式下HSQLDB跟其他数据库服务器一样,以服务器的形式被启动。 通过java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 testdb -dbname.0 testDbName之类的命令启动HSQLDB守护进程。
JDBC实例:
jdbc:hsqldb:hsql://localhost:9001/testDbName
四、Web服务器模式:该模式HSQLDB以WEB服务器的形式启动,并通过HTTP协议接受客户端命令。从1.7.2开始,WEB服务器模式的HSQLDB开始支持事务。 java -cp ../lib/hsqldb.jar org.hsqldb.WebServer -database.0 mydb -dbname.0 myDbName

现以介绍hsqldb服务器模式的启动方法:
因为In-Process模式以及Memory-Only模式可以无需另外启动HSQLDB,下面介绍服务器模式的启动方法。
假设我们需要创建/启动一个名为testdb的数据库。
先在c:\hsqldb1.8目录下创建testdb目录。
1.创建runTestdb.bat文件,其内容为:

Java代码 复制代码
  1. java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 testdb -dbname.0 testdbname   
java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 testdb -dbname.0 testdbname 

 

现在你可能会疑惑,[-database.0 ]、 [dbname.0]为什么在后面加[0]。_... ...我们不是在前面说服务模式运行的时候可以指定10个数据库吗,如有多个数据库,则继续写命令行参数-database.1 aa -dbname.1 aa -database.2 bb-dbname.2 bb ... ...


2.再创建UITestdb.bat,用来启动图形界面管理工具,其内空为:

Java代码 复制代码
  1. java -cp ..\lib\hsqldb.jar org.hsqldb.util.DatabaseManager -url jdbc:hsqldb:hsql://localhost/testdbname  
java -cp ..\lib\hsqldb.jar org.hsqldb.util.DatabaseManager -url jdbc:hsqldb:hsql://localhost/testdbname

其中,testdbname要和runTestdb.bat中-dbname.0后的名字testdbname对应,而不是用-database.0后的名字testdb。用它当启动后会报异常:java.sql.Sqlexception:S1000 General error java.lang.RuntimeException:database alias does not exist。

org.hsqldb.util.DatabaseManager还可以换为其它工具类:
org.hsqldb.util.DatabaseManagerSwing

hebernate.properties内容:
driverClass=org.hsqldb.jdbcDriver
url=jdbc:hsqldb:hsql://localhost/testdb 
username=sa 
password=
dialect=org.hibernate.dialect.HSQLDialect

HSQLDB-2.0版本稍有点区别:
1.创建runTestdb.bat文件,其内容为:

Java代码 复制代码
  1. java -cp ../lib/hsqldb.jar org.hsqldb.server.Server -database.0 testdb -dbname.0 testdbname   
java -cp ../lib/hsqldb.jar org.hsqldb.server.Server -database.0 testdb -dbname.0 testdbname 


2.JDBC驱动类:org.hsqldb.jdbc.JDBCDriver

 

 

工具的使用

Hsqldb提供的主要的工具类:

 

org.hsqldb.util.DatabaseManager 

org.hsqldb.util.DatabaseManagerSwing 

org.hsqldb.util.Transfer 

org.hsqldb.util.QueryTool 

org.hsqldb.util.SqlTool

 

  其中DatabaseManage和Sql Tool,只能用命令行参数来运行。你可以在命令行后面加上参数-?来查看这些工具可用的参数列表。其他工具可以通过DatabaseManager的主界面启动,便于交互式操作。

    为了便于操作,我们同样把这些工具启动的命令做成批处理文件。方法和前面我们所介绍的创建启动服务模式命令的方法一样。在这里我们再强调一次hsqldb.jar的位置,因为所有启动命令都是参照hsqldb.jar的位置编写的

 

  如果您觉得麻烦你也可以采用绝对路径编写命令。

 

  现在我们一起运行AWT版本的DatabaseManager工具,hsqldb.jar位于相对于当前路径的../lib下面,命令如下:

 

  Java -cp ../lib/hsqldb.jar org.hsqldb.util.DatabaseManager

 

  将命令保存为后缀名为bat的批处理文件,保存为DatabaseManager.bat,也可根据个人习惯命名。执行DatabaseManager.bat你将看到如下画面:。

 现在对这个简洁的登录界面做个简单的介绍*_*

 

Recent:选择你最近的登录方案,[可选] 

Setting Name:本次登录方案名称,如果本次登录成功,那么等你下次登录的时候在Recent下拉列表中将看到你的成功登录方案[可选] 

Type:登录模式,其中包括In-Memory模式、Standalone(In-process)模式、Server模式、WebServer模式... ...[必选] 

Driver:连接数据库的驱动程序[必选] 

URL:连接数据库的URL[必选] 

User:用户名[必选] 

Password:密码[ 除非密码为空]

 

  注:如果Type项选择Server模式或者WebServer模式需要你事先启动与之对应的服务模式。而Standalone(In-process)默认是不支持DatabaseManager连接的,具体原因我们已经在前面解释过。至于In-Memory可以随意登录,所有的操作数据都不会记录在本地磁盘。而Type还有很多其他选项,具体的用法可以参考官方文档,位置在hsqldb目录\doc\guide\ guide.pdf。

 

  如果你想运行DatabaseManagerSwing也很简单,相信你已经想到了。我们只需要把启动DatabaseManager命令修改成:

  Java -cp ../lib/hsqldb.jar org.hsqldb.util. DatabaseManagerSwing

 

 

 

PS:

1. Hsqldb_start.bat:

set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_23\

set PATH=%JAVA_HOME%\bin;C:\Windows;C:\Windows\Command

set CLASSPATH=%JAVA_HOME%\jre\lib\rt.jar;

java -cp ./hsqldb.jar org.hsqldb.Server -database.0 file:.\db\Training\Training -dbname.0 Training -database.1 

file:.\db\SampleDB\SampleDB -dbname.1 SampleDB

 

 

2. Derby_run.bat: 

NetworkServerControl start -h 192.168.128.175 -p 1527

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值