`

hsqldb数据库的使用

阅读更多

一、简介: 
hsql数据库是一款纯Java编写的免费数据库,许可是BSD-style的协议。 
相对其他数据库来说,其体积小,才563kb。 
仅一个hsqldb.jar文件就包括了数据库引擎,数据库驱动,还有其他用户界面操作等内容。 
下载地址: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中配置 
   
com.iplan.portal.framework.web.HsqlListener 
     
这样在启动web容器的时候,同时启动了hsqldb,关闭容器的时候同时也shutdown掉hsqldb。 
还有一点说明的是:在单体或是结合测试的时候,可以采用Memory-Only 
数据库,这样可以保证原有数据库中数据的完整性,这也是比较好的一个功能。

分享到:
评论

相关推荐

    HSQLDB数据库

    - **嵌入式使用**: 可以直接在应用中嵌入HSQLDB,无需单独部署数据库服务器。 5. **Data和HSQLDB目录** - `Data`: 可能包含数据库文件,如`.lobs`(大对象数据)、`.data`(数据文件)、`.script`(日志文件)等...

    hsqldb数据库软件

    hsqldb是我们进行Java开发的最常用的数据库之一,希望大家能够喜欢

    员工管理系统(Struts2+hsqldb数据库)

    接着,我们来看hsqldb数据库。hsqldb是一款开源、轻量级、完全Java编写的数据库引擎,它支持嵌入式和服务器模式,非常适合用于小型项目或测试环境。在这个系统中,hsqldb被用作后台存储,存放员工信息、部门信息和...

    hsqldb-2.2.8数据库

    它可以作为嵌入式数据库使用,这意味着它可以直接内置于应用程序中,无需独立服务器进程。同时,HSQldb也支持网络模式,可以作为一个独立的服务供多个客户端连接。 HSQldb 2.2.8 版本可能包含以下组件和改进: 1. *...

    HSQLDB快速连接数据库

    - **数据库引擎**:介绍HSQLDB中可用的不同表类型(如临时表、持久化表)、约束和索引机制、SQL支持情况及JDBC接口的使用。 #### 四、SQL问题详解 - **对SQL标准的支持**:HSQLDB遵循并扩展了SQL-92标准,支持大...

    jbpm4 测试例子(项目中含hsqldb数据库)

    **jbpm4测试例子(项目中含hsqldb数据库)** jbpm4 是一个开源的工作流管理系统,它提供了业务流程管理(BPM)和工作流服务。jbpm4的测试例子是一个很好的学习资源,帮助开发者了解如何在实际项目中集成和使用jbpm4。...

    hsqldb数据库的安装

    hsqldb是一个java写的小型、嵌入式数据库,不用安装,使用方便。

    hsqldb 数据库 免安装

    hsql数据库是一款纯Java编写的免费数据库,许可是BSD-style的协议。 相对其他数据库来说,其体积小,才563kb。...仅一个hsqldb.jar文件就包括了数据库引擎,数据库驱动,还有其他用户界面操作等内容

    Oracle数据库移植到HsqlDB操作手册.docx

    - **启动服务**:启动HsqlDB数据库服务,并启动Web应用,以验证连接是否成功。 4. **代码适配**: - **序列值获取**:Oracle的`nextval`需改为HsqlDB的`next value for`,对所有涉及序列的地方进行修改。 - **类...

    HSQL数据库下载

    解压后,你可以找到HSQLDB的JDBC驱动(hsqldb.jar),这个驱动是连接到HSQLDB数据库的关键。此外,还有可能包含服务器端的启动脚本和配置文件,用于启动和配置HSQLDB服务器。 为了开始使用HSQLDB,你需要通过JDBC...

    hsqldb使用(转载)

    创建HSQldb数据库非常简单。如果启动时数据库文件不存在,HSQldb会自动创建。这使得HSQldb成为快速原型和小型项目理想的数据库选择。 2. **HSQldb启动** HSQldb提供三种主要的启动模式: - **Server模式**:这种...

    hsqldb数据库系统

    HSQLDB 是一个轻量级的纯Java开发的开放源代码的关系数据库系统。因为HSQLDB的轻量(占用空间小),使用简单,支持内存运行方式等特点,HSQLDB被广泛用于开发环境和某些中小型系统中。 HSQLDB的运行需要Java环境的...

    开源数据库软件hsqldb

    HSQldb的使用通常包括创建数据库、表和索引,以及执行SQL语句。以下是一些基本操作: 1. **启动HSQldb**:通过java -jar hsqldb.jar命令启动HSQldb服务器,或者在Java代码中直接加载HSQldb库。 2. **连接数据库**...

    hsqldb包和使用说明

    Eclipse提供了集成的数据库开发工具,可以方便地管理HSQldb数据库,包括创建表、执行SQL语句等。 "嵌入式数据库"特性使得HSQldb非常适合于嵌入到其他Java应用程序中,无需额外的数据库服务器。只需在程序中加载...

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

    HSQLDB_TRAY_ICON是一个专为HSQLDB数据库设计的实用工具,它的主要功能是提供一个用户友好的界面,使得用户能够方便地...对于那些需要在项目中使用HSQLDB数据库的开发者或者普通用户,这都是一个值得尝试和利用的工具。

    hsqldb-2.5.0.jar

    hsqldb数据库下载,很好用,简易的内存数据库,特别适合初学者。

    hsqldb学习包括数据库创建启动配置等

    HSQldb提供了一个名为`DatabaseManagerSwing`的图形化管理工具,可用于连接和管理HSQldb数据库。在Server模式下启动数据库,然后运行`java -cp hsqldb.jar org.hsqldb.util.DatabaseManagerSwing`启动工具。选择`...

    hsql数据转移mysql

    - **处理外键和触发器**:如果原HSQLDB数据库包含外键和触发器,记得在MySQL中创建相应的约束和触发器,以保持业务逻辑的一致性。 - **验证和测试**:迁移完成后,进行全面的验证和测试,确保所有数据都正确无误地...

Global site tag (gtag.js) - Google Analytics