HSQLDB 是一个轻量级的纯Java开发的开放源代码的关系数据库系统。因为HSQLDB的轻量(占用空间小),使用简单,支持内存运行方式等特点,HSQLDB被广泛用于开发环境和某些中小型系统中。
HSQLDB的运行需要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/myDbNamejdbc:hsqldb:file:/opt/db/myDbNamejdbc: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文件,文件内容为:
java -cp ..\lib\hsqldb.jar org.hsqldb.Server -database mydb
或
java -cp ../lib/hsqldb.jar org.hsqldb.Server -database.0 mydb -dbname.0 mydb
启动runMydb.bat命令即可
2,创建manageMydb.bat文件,内容:
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数据库的连接
使用例:
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里加入类似如下设置:
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="connection.url">jdbc:hsqldb:hsql://localhost/mydb</property>
<property name="connection.username">sa</property>
<property name="connection.password"></property>
<property name="dialect">org.hibernate.dialect.HSQLDialect</property>
</session-factory>
</hibernate-configuration>
其余就跟其他数据库的用法一样了,这里不再详述。
分享到:
相关推荐
例如,如果检测到`HSQLDB`在类路径中,就会自动配置内存数据库。 4. **Actuator** Actuator是Spring Boot提供的一种监控和管理应用的工具,可以查看应用健康状态、指标、环境信息等,有助于运维和诊断。 5. **...
lib/hsqldb-1.8.0.10.jar lib/ibatis-sqlmap-2.3.4.726.jar lib/jackson-all-1.9.9.jar lib/javax.inject.jar lib/javax.wsdl-1.6.1.jar lib/jettison-1.1.jar lib/json-lib-2.4-jdk15.jar lib/jstl-1.2.jar...
3.支持的操作系统:包括Windows(2000/XP/2003/Vista/7/10/11)、Linux、Mac OS、Solaris、AIX、HPUX等。 4.主要特性: 数据库管理:支持数据库元数据浏览、元数据编辑(包括表、列、键、索引等)、SQL语句和脚本的...
安装的软件: Java 8 数据库 SQL工具 让它简短 简而言之,使用此映像在您的开发环境中启动和停止一个简单的 HSQLDB。 $ docker run -d -p 9001:9001 --name hsqldb blacklabelops/hsqldb 将运行可通过 jdbc URL 访问...
在Java领域,特别是针对企业级应用开发的J2EE(Java 2 Platform, Enterprise Edition)框架中,有许多优秀的开源项目可以帮助开发者更好地理解和掌握这一技术栈的核心概念与实践技巧。本文将对一些值得关注的开源...
at org.apache.sqoop.metastore.hsqldb.HsqldbJobStorage.createInternal(HsqldbJobStorage.java:399) at org.apache.sqoop.metastore.hsqldb.HsqldbJobStorage.create(HsqldbJobStorage.java:379) at org.apache...
在Spring的配置文件中,我们经常会看到xsd文件的身影,例如`spring-jdbc-4.2.xsd`,它是Spring JDBC模块的XML Schema定义文件,用于验证和解析与数据库交互的相关配置。 `spring-jdbc-4.2.xsd`是Spring 4.2版本的...
配置方法:http://www.iteye.com/topic/723177
goose.zip,scala中的html内容/文章提取器-开源自gravity labs-http://gravity.com scala中的html内容/文章提取器-开源自gravity labs-http://gravity.com
安装方法:http://www.iteye.com/topic/723177
配置方法:http://www.iteye.com/topic/723177
java -cp hsqldb.jar org.hsqldb.Server -database.0 ./db/test -dbname.0 test ``` JDBC连接方式: ```java Connection c = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost:9002/test", "sa", "...
例如,启动名为`test`的数据库,命令为`java -cp hsqldb.jar org.hsqldb.Server -database.0 ./db/test -dbname.0 test`。通过JDBC,我们可以使用`jdbc:hsqldb:hsql://localhost:9002/test`连接到服务器。 - **In-...
3.支持的操作系统:包括Windows(2000/XP/2003/Vista/7/10/11)、Linux、Mac OS、Solaris、AIX、HPUX等。 4.主要特性: 数据库管理:支持数据库元数据浏览、元数据编辑(包括表、列、键、索引等)、SQL语句和脚本的...
3.支持的操作系统:包括Windows(2000/XP/2003/Vista/7/10/11)、Linux、Mac OS、Solaris、AIX、HPUX等。 4.主要特性: 数据库管理:支持数据库元数据浏览、元数据编辑(包括表、列、键、索引等)、SQL语句和脚本的...