`
newdebug
  • 浏览: 37117 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

开源数据库软件hsqldb

阅读更多
转载:http://www.5ai7.net/viewtopic.php?t=5

一、简介:
hsql数据库是一款纯Java编写的免费数据库,许可是BSD-style的协议。
相对其他数据库来说,其体积小,才3276605bytes。
仅一个hsqldb.jar文件就包括了数据库引擎,数据库驱动,还有其他用户界面操作等内容。
最新版本是hsqldb_1_8_0_7 ,下载地址:http://hsqldb.org/

二、使用hsql数据库:
1、hsql数据库引擎有几种服务器模式:常用的Server模式、WebServer模式、Servlet模式、Standlone模式、Memory-On­ly数据库。

2、最为常用的Server模式:
1)首先却换到lib文件夹下,运行java -cp hsqldb.jar org.hsqldb.Server -database.0 db/mydb -dbname.0 xdb
执行命令后,将会在db文件夹下创建一个数据库mydb,别名(用于访问数据库)是xdb,如果存在mydb数据库,将会打开它。
2)运行数据库界面操作工具:java -cp hsqldb.jar org.hsqldb.util.DatabaseManager
在Type选项里选上相应的服务器模式,这里选择HSQL Database Engine Server模式;
Driver不用修改;
URL修改为jdbc:hsqldb:hsql://localhost/xdb (主要这里xdb就是上面我们设置的别名);
user里设置用户名,第一次登录时,设置的是管理员的用户名;
password设置密码。
然后点击Ok。
3)第一次运行数据库引擎,创建数据库完毕。好了,你可以打开db文件夹,会发现里面多了几个文件。
mydb.properties文件:是关于数据库的属性文件。
mydb.script:hsql主要保存的表(这里按hsql的说法是Memory表,就是最为常用的),里面的格式都是文本格式,可以用文本查看,里面的语­句都是sql语句,熟悉sql语句的话,你也可以手动修改它。每次运行数据库引擎的话都是从这里加载进内存的。
mydb.lck表示数据库处于打开状态。
其他的请参看hsqldb包里的手册。

3、WebServer模式和Server运行模式基本一样,只是支持了Http等协议,主要用于防火墙,默认端口是9001。启动Server,java -cp hsqldb.jar org.hsqldb.WebServer ...剩余的和上面的一致。

4、Servlet模式可以允许你通过Servlet容器来访问数据库,请查看hsqlServlet.java的源代码,和WebServer类似。

5、另一个值得思考的模式是Standalone模式:不能通过网络来访问数据库,主要是在一个JVM中使用,那样的话,访问的速度会更加快。虽然文档里面提到­主要是用于开发时使用,但是我们可以假设一下,该方法不需要一个引擎类的东西,而类似于打开文件的方式,返回一个Connection对象:
Connection c = DriverManager.getConnection("jdbc:hsqldb:file:mydb", "sa", "");
将会在当前目录找到mydb数据库相关文件,打开并返回一个Connection对象。该方式有点好处就是可以不使用引擎,在需要的时候操作数据。所以那些对数据库不是特别有要求的,但又需要一个操作数据库的方式的话,可以使用这种方法。对于那些不想额外在数据库引擎花费金钱的话,可以使用这种方法。但是不推荐使用该方法。记得Hibernate里SessionFactory可以使用openSession(Connecttion c)来获得一个Session对象的,因此,在测试或者实际应用的话都可以这样使用。

6、Memory-Only 数据库:顾名思义,主要是内存中使用,不用于保存数据。可以用于在内存中交换数据。

上面是关于hsqldb的一些基本信息的介绍,可以看到它的一些优势和特性。
我们可以把hsqldb内置在web程序中,除考虑Standalone模式外,最好是采用最为常用的Server模式。
那么Server模式如何和web程序合理搭配使用呢。
可以采用两种方式:
1)采用上面提到的方法,运行java -cp hsqldb.jar org.hsqldb.Server -database.0 db/mydb -dbname.0 xdb
来启动db,通过设置的URL:jdbc:hsqldb:hsql://localhost/xdb 以达到在程序中访问hsql数据库的
(注:设置URL等信息,可以通过hibernate来配置,例如:
hibernate.dialect org.hibernate.dialect.HSQLDialect
hibernate.connection.driver_class org.hsqldb.jdbcDriver
hibernate.connection.username sa
hibernate.connection.password
hibernate.connection.url jdbc:hsqldb:hsql://localhost/xdb )
2)为了省去第一种方法的琐碎,可以在启动web容器的过程中同时启动hsqldb。具体做法如下:编写一个有关hsql的Listener类,扩展javax­.servlet.ServletContextListener,可以在配置文件中设置dbPath、dbName、port等等hsqldb的信息,启动h­sqldb。
在web.xml中配置
<listener>
<listener-class>com.iplan.portal.framework.web.HsqlListener</listener-class­>
</listener>
这样在启动web容器的时候,同时启动了hsqldb,关闭容器的时候同时也shutdown掉hsqldb。

还有一点说明的是:在单体或是结合测试的时候,可以采用Memory-Only
数据库,这样可以保证原有数据库中数据的完整性,这也是比较好的一个功能。
分享到:
评论

相关推荐

    嵌入式开源数据库系统对比

    嵌入式开源数据库系统对比 Derby\H2\SqlLite\ HSQLDB \ oracle Berkeley DB各有优劣

    hsqldb-2.5.0.zip

    开源数据库hsqldb最新版本2.5.0,含源代码及bin文件 Open-sourced database hsqldb2.5.0, including source code and bin file(stuctured in form of .BAT)

    ​DBeaver支持虚谷数据库连接安装包及插件

    本资源包含​DBeaver安装包,虚谷数据库适配插件,驱动包...DBeaver提供了图形界面用来查看数据库结构、执行SQL查询脚本、浏览和导出数据、处理BLOB/CLOB 数据、修改数据库结构等,是一款很强大的开源数据库连接工具。

    hsqldb source code and doc

    hsqldb source code and document, it is the version 2.0 rc3. sqldb是一个非常著名的数据库,支持嵌入和client-server方式,支持内存模式,cached, text 3种表。...欢迎更多人研究这种优秀的开源数据库

    HSQLDB中文帮助文档

    Hsqldb 是一个优秀的轻量级开源的纯Java SQL 数据库。 大家可以从Hsqldb 官方网站(http://hsqldb.org)获取到Hsqldb 的发布包、源代码和文档。

    HSQLDB 用户指南

    Hsqldb是一个优秀的轻量级开源的纯Java SQL数据库.

    Java理论与实践:在没有数据库的情况下进行数据库查询

    本文介绍了开源的内存中的SQL数据库HSQLDB和XQuery。HSQLDB是一个用Java语言编写的可嵌入的数据库引擎。XQuery为生成XML或者HTML文档作为查询结果而设计的,因此不需要对查询结果进行后处理。从开发成本角度看,...

    HSQLDB_用户指南

    HSQLDB_用户指南 Hsqldb是一个优秀的轻量级开源的纯Java SQL数据库

    HSQLDB_TRAY_ICON:它是 HSQLDB 数据库的包装器。-开源

    该程序是 HSQLDB 数据库的包装器。 它允许配置、启动、停止和监视 HSQLDB 数据库,作为托盘图标留在系统托盘中。 它是在 Java 上开发的,因此它是独立于平台的。

    H2DB使用文档

    1.常用的开源数据库:H2,Derby,HSQLDB,MySQL,PostgreSQL。其中H2, HSQLDB类似,十分适合作为嵌入式数据库使用,其它的数据库大部分都需要安装独 立的客户端和服务器端。2.H2的优势: 1、h2采用纯Java编写,因此...

    HSQLDB_TRAY_ICON:它是HSQLDB数据库的包装。-开源

    该程序是HSQLDB数据库的包装。 它允许配置,启动,停止和监视HSQLDB数据库,并作为托盘图标保留在系统托盘中。 它基于Java开发,因此与平台无关。

    嵌入式数据库引擎 H2.zip

    主要的特性包括:免费、开源、快速嵌入式的数据库服务器,支持集群提供JDBC、ODBC访问接口,提供基于浏览器的控制台管理程序Java编写,可使用GCJ和IKVM.NET编译短小精干的软件,1M左右。几个嵌入式数据库的对比: ...

    HSQLDB 中文文档

    Hsqldb 是一个优秀的轻量级开源的纯Java SQL 数据库,为了方便Hsqldb 在国内推 广我们将2005/05/16 发布的用户指南翻译成中文,不过我们建议有能力的读者阅读英文原 文。大家可以从Hsqldb 官方网站...

    多数据库管理工具(DBeaver) v5.1.5 x64.zip

    软件支持 MySQL, PostgreSQL, Oracle, DB2, MSSQL, Sybase, Mimer, HSQLDB, Derby, 以及其他兼容 JDBC 的数据库。值得一提的是软件会提供一个图形界面用来查看数据库结构、执行SQL查询和脚本,浏览和导出数据,处理...

    HSQLDB-Research:HSQLDB数据库源代码学习研究(包括代码注释,文档,用于代码分析的测试用例)

    src:HSQLDB数据库的最新源代码,在源代码中附加了轻松分析理解代码的注释 把代码引入Eclipse 运行mvn eclipse:eclipse生成Eclipse项目,打开Eclipse,选择File-&gt; Import-&gt; Existing Projects into Workspace 运行...

    HyperSQL Database Engine (HSQLDB)-开源

    HSQLDB是一种用Java编写的关系数据库引擎,带有JDBC驱动程序,符合ANSI SQL:2016。 小型,快速,多线程的引擎和服务器,具有内存和磁盘表,LOB,事务隔离,多版本并发性和ACID。

Global site tag (gtag.js) - Google Analytics