<!--StartFragment -->HSQLDB是一个开放源代码的JAVA数据库,具有标准的SQL语法和JAVA接口。HSQLDB可以自由使用和分发,具有内存数据库,独立数据库和客户-服务器三种数据库模式。本文介绍客户-服务器模式的配置。
从HSQLDB主页上下载HSQLDB:
http://hsqldb.org/
把下载的压缩文件解开,然后在系统环境变量中加入hsqldb.jar,如:
D:\work\eclipse\hibe\data>echo %classpath%
.;c:\java\lib\tools.jar;%JAVA_HOME\lib\dt.jar;D:\work\eclipse\hibe\WebRoot\WEB-INF\lib\hsqldb.jar;
|
在硬盘中任意位置建一个目录作为HSQLDB数据库的主目录,然后打开命令行,进入该目录。在里面建一个server.properties文件,这是HSQLDB服务器模式的配置文件。可以在里面设置数据库服务的监听端口、服务名称、数据文件的相对和绝对路径:
#begin of 'server.properties' file
#数据库服务的监听端口
server.port=9001
#定义服务名称,也即数据库名称。数据库链接的URL即为
#jdbc:hsqldb:hsql://localhost:9001/bitan。
server.dbname.0=bitan
#该服务在硬盘上的相对或绝对路径。file:后面可以跟相#对或绝对路径,如file:bitan表示数据文件为当前目录下的bitan.*文件。服务名和路径之间通过小数点后的数字关联。比如database.0与#dbname.0关联,database.1与dbname.1关联,……,database.n与dbname.n关联。
server.database.0=file:bitan
#mounts a 'file_in_jar' database with alias 'restest'
#database connection url would be 'jdbc:hsqldb:hsql://host:1234/restest'
#server.database.1=res:/mypackage/test
#server.dbname.1=restest
#mounts a 100% in-memory (transient) database with alias 'memtest'
#database connection url would be 'jdbc:hsqldb:hsql://host:1234/memtest'
#server.database.2=mem:test
#server.dbname.2=memtest
#...
#server.database.n=...
#server.dbname.n=...
server.silent=true
#end of 'server.properties' file
|
进入上面设置的主目录,启动HSQLDB服务器:HSQLDB会在当前目录下寻找server.properties文件,如果没有发现该文件就使用默认设置。
D:\work\eclipse\hibe\data>java org.hsqldb.Server
[Server@1034bb5]: [Thread[main,5,main]]: checkRunning(false) entered
[Server@1034bb5]: [Thread[main,5,main]]: checkRunning(false) exited
[Server@1034bb5]: Startup sequence initiated from main() method
[Server@1034bb5]: Loaded properties from [D:\work\eclipse\hibe\data\server.prope
rties]
[Server@1034bb5]: Initiating startup sequence...
[Server@1034bb5]: Server socket opened successfully in 78 ms.
[Server@1034bb5]: Database [index=0, id=0, db=file:bitan, alias=bitan] opened su
cessfully in 1000 ms.
[Server@1034bb5]: Startup sequence completed in 1093 ms.
[Server@1034bb5]: 2005-11-03 11:30:47.046 HSQLDB server 1.8.0 is online
[Server@1034bb5]: To close normally, connect and execute SHUTDOWN SQL
[Server@1034bb5]: From command line, use [Ctrl]+[C] to abort abruptly
|
另外开一个命令行窗口,启动HSQLDB的管理工具,这是GUI外观的程序:
D:\work\eclipse\hibe\data>java org.hsqldb.util.DatabaseManager
|
首先出现的是登录窗口:
在“setting name”中填入“bitan”,下次启动管理工具时,该字串就会出现在“recent”下拉框中。点击“clr”按钮可以清除该字串。在“type”中选择HSQL Database Engine Server,然后在“URL”中输入上面server.properties中的设置。
点“OK”登录以后,会出现下面的窗口,左边是目录窗口,右边是SQL查询窗口。我们可以在SQL查询窗口中键入任意SQL语句(包括DDL,DML等等),然后点击“Execute”执行该语句。HSQLDB安装文件的doc目录里附带了PDF和HTML格式的文档,介绍了HSQLDB的SQL语法、支持的数据类型、内置函数等等。
可以在SQL窗口里创建新表:
create table events
(event_id integer identity
not null,
event_date date,
title varchar(500))
|
(ID的自动插入方式上,HSQLDB支持identity,如sql server;也支持序列+触发器,如Oracle。)
可以插入记录:
insert into events (event_id, event_date, title)
values (null, curdate(),
'bitan')
|
(curdate()是HSQLDB内置函数,返回当前日期)
启动了HSQLDB服务器,我们就可以在java程序中以JDBC方式访问数据库了。hsqldb.jar中内置了JDBC驱动程序。
如下例,这是hibernate中的配置文件Hibernate.cfg.xml:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd
">
<hibernate-configuration>
<session-factory>
<property name="connection.driver_class">org.hsqldb.jdbcDriver
</property>
<property name="connection.url">jdbc:hsqldb:hsql://jim:9001/bitan
</property>
<property name="connection.username">sa</property>
<property name="connection.password"></property>
<property name="connection.pool_size">1</property>
<property name="dialect">org.hibernate.dialect.HSQLDialect
</property>
<property name="show_sql">true</property>
<!-- property name="hbm2ddl.auto">update</property-->
<mapping resource="hbm/Event.hbm.xml"/>
</session-factory>
</hibernate-configuration>
|
分享到:
相关推荐
- **嵌入式使用**: 可以直接在应用中嵌入HSQLDB,无需单独部署数据库服务器。 5. **Data和HSQLDB目录** - `Data`: 可能包含数据库文件,如`.lobs`(大对象数据)、`.data`(数据文件)、`.script`(日志文件)等...
- **属性文件配置**:讲解了如何通过属性文件来定制HSQLDB的行为,包括服务器配置、单个数据库实例的属性等。 - **内存与磁盘使用**:讨论了HSQLDB在不同部署环境下的内存和磁盘资源管理策略。 - **数据库升级与备份...
HSQldb的配置文件(如`hsqldb.properties`)可以帮助设置数据库参数,如内存大小、文件位置等。 总结来说,HSQldb 2.2.8是一款适合小型应用和开发测试的数据库解决方案,它提供了标准SQL支持、JAVA接口、高效的内存...
这个例子中包含了hsqldb数据库,这是一款轻量级、嵌入式的Java数据库,常用于测试环境,因为它不需要单独的服务器进程,可以直接在内存中运行,也可以存储到磁盘。 ### jbpm4核心概念 1. **工作流引擎**: jbpm4的...
它被设计为一个嵌入式数据库,适用于各种应用程序,同时也支持客户端/服务器模式,可以作为独立的数据库服务器使用。HSQLDB因其小巧的体积、快速的运行速度以及与Java的无缝集成而备受赞誉。 首先,HSQLDB的特性之...
1. **Server模式**:类似于传统的数据库服务器,HSQldb作为服务运行,其他应用可以通过JDBC连接到它。例如,使用以下JDBC URL连接: ```java Connection c = DriverManager.getConnection("jdbc:hsqldb:hsql://...
HSQldb,全称HyperSQL Database,是一款完全开源、免费的Java实现的关系型数据库管理系统(RDBMS),它支持多种运行环境,包括独立服务器模式、嵌入式模式以及Web应用。HSQldb因其轻量级、高性能和易于集成的特点,...
创建HSQldb数据库非常简单。如果启动时数据库文件不存在,HSQldb会自动创建。这使得HSQldb成为快速原型和小型项目理想的数据库选择。 2. **HSQldb启动** HSQldb提供三种主要的启动模式: - **Server模式**:这种...
HSQLDB_TRAY_ICON是一个专为HSQLDB数据库设计的实用工具,它的主要功能是提供一个用户友好的界面,使得用户能够方便地管理和监控HSQLDB数据库。HSQLDB(HyperSQL Database)是一款轻量级、高性能的开源关系型数据库...
Eclipse提供了集成的数据库开发工具,可以方便地管理HSQldb数据库,包括创建表、执行SQL语句等。 "嵌入式数据库"特性使得HSQldb非常适合于嵌入到其他Java应用程序中,无需额外的数据库服务器。只需在程序中加载...
《HSQLDB数据库详解》 HSQLDB,全称为HyperSQL Database,是一款高效、轻量级的纯Java编写的数据库管理系统。它以其独特的特性和广泛的应用场景,深受开发者喜爱,尤其在测试、原型设计和小型应用程序中表现出色。...
4. **嵌入式与服务器模式**:HSQDDL可以作为Java应用程序的一部分运行(嵌入式模式),也可以作为一个独立的服务器运行,方便远程访问。 5. **小体积与高性能**:HSQDDL的体积小巧,运行高效,尤其适合资源有限的...
由于整个数据库引擎是用Java实现的,它可以无缝地与Java应用集成,无需安装额外的数据库服务器。同时,HSQDB在内存模式下运行时,速度非常快,非常适合进行单元测试或快速验证数据处理逻辑。 在使用HSQDB时,开发者...
它在Java环境中运行,适用于开发嵌入式数据库应用、测试环境以及作为服务器模式的数据库系统。HSQLDB因其小巧、快速和易用性而受到广泛的欢迎,尤其适合于对数据库性能有高要求但又不希望有太多复杂性的项目。 ### ...
1. **Server模式**:类似于传统的数据库服务器,启动后作为一个独立的服务,其他应用程序可以通过JDBC连接。启动命令示例: ```bash java -cp hsqldb.jar org.hsqldb.Server -database.0 ./db/test -dbname.0 test...
- **多模式支持**:HSQLDB支持单用户模式、服务器模式和文件模式,能满足不同场景的需求。 - **事务处理**:支持ACID(原子性、一致性、隔离性和持久性)事务特性,确保数据的一致性和可靠性。 - **多语言支持**:...
4. **Database.java**:这是一个Java源代码文件,展示了如何使用JDBC连接到HSQLDB数据库,创建表,插入、查询和更新数据的基本示例。 通过学习和理解这些文件,开发者可以快速上手使用HSQLDB和JDBC进行数据库操作,...