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 -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 -cp ..\lib\hsqldb.jar org.hsqldb.util.DatabaseManager -url jdbc:hsqldb:hsql:
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 -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
分享到:
相关推荐
- **数据库引擎**:介绍HSQLDB中可用的不同表类型(如临时表、持久化表)、约束和索引机制、SQL支持情况及JDBC接口的使用。 #### 四、SQL问题详解 - **对SQL标准的支持**:HSQLDB遵循并扩展了SQL-92标准,支持大...
- **单用户模式**: 无需启动服务器,直接通过JDBC连接使用,适合开发和测试环境。 - **内存模式**: 数据库完全在内存中运行,关闭后数据丢失,适合临时存储数据或快速测试。 - **文件模式**: 数据存储在磁盘文件...
1. **Server模式**:类似于传统的数据库服务器,HSQldb作为服务运行,其他应用可以通过JDBC连接到它。例如,使用以下JDBC URL连接: ```java Connection c = DriverManager.getConnection("jdbc:hsqldb:hsql://...
为了开始使用HSQLDB,你需要通过JDBC连接到数据库,创建数据库实例,然后执行SQL语句进行数据操作。例如,可以使用以下Java代码创建一个新的数据库: ```java Class.forName("org.hsqldb.jdbc.JDBCDriver"); ...
创建HSQldb数据库非常简单。如果启动时数据库文件不存在,HSQldb会自动创建。这使得HSQldb成为快速原型和小型项目理想的数据库选择。 2. **HSQldb启动** HSQldb提供三种主要的启动模式: - **Server模式**:这种...
1. HSQLDB数据库的介绍和特性。 2. 在Tomcat中配置HSQLDB作为内嵌数据库的步骤,包括添加JAR文件、配置`server.xml`和`web.xml`。 3. 使用JDBC API通过数据源连接和操作数据库。 4. 可能存在的博客资源或示例代码,...
4. **Database.java**:这是一个Java源代码文件,展示了如何使用JDBC连接到HSQLDB数据库,创建表,插入、查询和更新数据的基本示例。 通过学习和理解这些文件,开发者可以快速上手使用HSQLDB和JDBC进行数据库操作,...
HSQldb,全称 HyperSQL Database,是一款轻量级、开源的嵌入式关系型数据库管理系统,特别适合用于开发和测试环境。以下是对HSQldb快速入门...了解并熟练掌握这些基础知识,将有助于你快速搭建和管理HSQldb数据库环境。
2. **连接数据库**:使用JDBC驱动进行连接,如`jdbc:hsqldb:hsql://localhost/test`,其中`test`是数据库名。 3. **创建表**:通过SQL语句`CREATE TABLE`定义表结构,如`CREATE TABLE Users (id INT PRIMARY KEY, ...
1. **连接数据库**: 使用JDBC驱动程序连接到HSQLDB服务器。例如: ```java Class.forName("org.hsqldb.jdbcDriver"); Connection conn = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/mydb", "sa...
主要的类包括`org.hsqldb.Server`(服务器进程)、`org.hsqldb.jdbc.JDBCConnection`(JDBC连接)以及`org.hsqldb.Statement`(SQL语句执行)等。 ### 工具集成 HSQLDB常被用作开发和测试环境中的数据库,因为它...
通过运行这个文件,用户可以在本地计算机上快速启动HSQldb数据库服务,使得其他应用或者管理工具能够连接到该数据库进行操作。批处理文件通常包含一系列的命令,简化了用户的操作步骤。 “hsqldb.jar”文件则是...
在本篇文章中,我们将深入探讨如何使用HSQLDB,并通过`HSQLDB_Client`类启动数据库,以及如何使用JDBC进行数据操作。 首先,HSQLDB的便捷之处在于其内置的服务器模式,允许开发者在应用程序中直接启用数据库服务。...
- **数据库启动与关闭**:用户可以通过命令行或其他接口启动和关闭数据库,控制资源的使用。 - **多数据库管理**:在单个JVM内可以同时运行多个HSQLDB数据库实例,满足不同应用需求。 - **新数据库创建**:通过简单...
《HSQDDL数据库详解——基于hsqldb-2.5.0.zip的探索》 HSQDDL(HyperSQL Database)是一款轻量级、开源的Java实现的内存数据库系统,广泛应用于开发、测试以及嵌入式环境。hsqldb-2.5.0.zip是HSQDDL的一个版本,它...
4. **嵌入式与服务器模式**:HSQDB可以作为Java应用程序的一部分,无需额外安装,直接在代码中启动数据库引擎;也可以作为独立的服务器运行,供多个客户端连接。 5. **自动备份与恢复**:HSQDB支持自动备份功能,...
在代码示例部分,可能包含如何在Java程序中初始化HSQLDB数据库,建立JDBC连接,以及如何使用SqlTool进行SQL脚本的执行。这些示例代码将帮助你更好地理解这两个工具的用法,并能在实际项目中快速上手。 总的来说,...
2. **启动数据库**: 使用`org.hsqldb.Server`类启动HSQDB服务器,或者在Java代码中直接创建`org.hsqldb.jdbc.JDBCConnection`实例。 3. **创建数据库**: 通过SQL语句`CREATE DATABASE`来创建新的数据库。 4. **...