免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1760 | 回复: 0
打印 上一主题 下一主题

HSQLDB安装与使用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-18 14:00 |只看该作者 |倒序浏览
本文介绍轻量级的纯Java开发的开放源代码的关系数据库系统HSQLDB安装与使用方法等
HSQLDB
是一个轻量级的纯Java开发的开放源代码的关系数据库系统。因为HSQLDB的轻量(占用空间小),使用简单,支持内存运行方式等特点,HSQLDB被广泛用于开发环境和某些中小型系统中。
HSQLDB的运行需要Java环境的支持。有关Java环境的安装设置请参考:

环境篇 - 构造Java开发环境
HSQLDB的四种运行模式:
运行模式
说明
启动命令
JDBC例
内存(Memory-Only)模式
所有数据都在内存里操作。应用程序退出后则数据被销毁。
启动方式1:通过程序中首次调用Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:myDbName", "sa", "");时
启动方式2:你也可以在server.properties中指定相同的URL来运行一个Memory-Only(仅处于内存中)服务器实例。
jdbc:hsqldb:mem:myDbName
进程(In-Process)模式
从应用程序启动数据库。因为所有数据被写入到文件中,所以即使应用程序退出后,数据也不会被销毁。
跟Memory-Only模式一样,In-Process不需要另外启动,通过DriverManager.getConnection(jdbcUriName, "sa", "");方式既可启动
jdbc:hsqldb:file:/C:/mydb/myDbName
jdbc:hsqldb:file:/opt/db/myDbName
jdbc:hsqldb:file:myDbName
服务器模式
该模式下HSQLDB跟其他数据库服务器一样,以服务器的形式被启动。
通过java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 mydb -dbname.0 myDbName之类的命令启动HSQLDB守护进程。
jdbc:hsqldb:hsql://localhost:9001/myDbName
Web服务器模式
该模式HSQLDB以WEB服务器的形式启动,并通过HTTP协议接受客户端命令。从1.7.2开始,WEB服务器模式的HSQLDB开始支持事务。
java -cp ../lib/hsqldb.jar org.hsqldb.WebServer -database.0 mydb -dbname.0 myDbName
-
HSQLDB的下载与安装:HSQLDB的最新版本可以通过
http://hsqldb.sourceforge.net/
下载。本文执笔阶段HSQLDB的最新稳定版本是:1.8.0.7。
下文以Windows环境为例,介绍怎么样安装HSQLDB。Linux环境除了目录与命令不一样之外,其余基本一样。
下载完成之后,把下载的ZIP文件解压缩至任意目录例如c:\hsqldb便完成安装。
HSQLDB服务器模式的启动方法因为In-Process模式以及Memory-Only模式可以无需另外启动HSQLDB,下面介绍服务器模式的启动方法。
假设我们需要创建/启动一个名为mydb的数据库。
为了操作方便等,我们在c:\hsqldb目录下创建mydb目录。
1,创建runMydb.bat文件,文件内容为:
view plain
copy to clipboard
print
?
java -cp ..\lib\hsqldb.jar org.hsqldb.Server -database mydb   java -cp ..\lib\hsqldb.jar org.hsqldb.Server -database mydb

view plain
copy to clipboard
print
?
java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 mydb -dbname.0 mydb  java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 mydb -dbname.0 mydb
启动runMydb.bat命令即可
2,创建manageMydb.bat文件,内容:
view plain
copy to clipboard
print
?
java -cp ..\lib\hsqldb.jar org.hsqldb.util.DatabaseManager -url jdbc:hsqldb:hsql://localhost/mydb   java -cp ..\lib\hsqldb.jar org.hsqldb.util.DatabaseManager -url jdbc:hsqldb:hsql://localhost/mydb
启动manageMydb.bat,即可启动HSQLDB的图形界面管理工具
Hsqldb 的主要工具类:

org.hsqldb.util.DatabaseManager

org.hsqldb.util.DatabaseManagerSwing

org.hsqldb.util.Transfer

org.hsqldb.util.QueryTool

org.hsqldb.util.SqlTool
使用JDBC连接HSQLDB数据库
Java语言通过JDBC使用HSQLDB数据库非常简单:
1,将hsqldb.jar加入到classpath
2,通过Class.forName("org.hsqldb.jdbcDriver" );初始化hsqldb的jdbc驱动
3,通过DriverManager.getConnection(hsqldb-url, user, password);取得HSQLDB数据库的连接
使用例:
view plain
copy to clipboard
print
?
    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", "");      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", "");
其中,jdbc:hsqldb:hsql://localhost/xdb需要替换为合适的jdbc-url。
有关JDBC-URL的详细描述请参考
HSQLDB的四种运行模式
在Hibernate里使用HSQLDB著名的ORM工具Hibernate也提供了对HSQLDB数据库的支持。需要在Hibernage里使用HSQLDB,只需在hibernate.cfg.xml里加入类似如下设置:
view plain
copy to clipboard
print
?
   
      
...   
        "connection.driver_class">org.hsqldb.jdbcDriver   
           
        "connection.url">jdbc:hsqldb:hsql://localhost/mydb   
        "connection.username">sa   
        "connection.password">   
           
        "dialect">org.hibernate.dialect.HSQLDialect   
...   
      
  
   
...
        org.hsqldb.jdbcDriver
        
        jdbc:hsqldb:hsql://localhost/mydb
        sa
        
        
        org.hibernate.dialect.HSQLDialect
...
   
其余就跟其他数据库的用法一样了,这里不再详述。

HSQLDB官方文档


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/55983/showart_1727649.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP