Hsqldb安装与使用
HSQLDB是一个轻量级的纯Java开发的开放源代码的关系数据库系统,其体积小,占用空间小,使用简单,支持内存运行方式等特点。可以在http://sourceforge.net/projects/hsqldb/files/下载最新的HSQLDB版本。我这里下载的是HSQLDB 1.8.13版本。下载完之后,把它解压到任一目录下,如E:\hsqldb下,完成安装工作。
Hsqldb有四种运行模式:
一、 内存(Memory-Only)模式:所有的数据都将在内存中完成,如果程序退出,则相应的数据也将同时被销毁。连接JDBC的实例为:jdbc:hsqldb:mem:dbname
二、 进行(In-Process)模式:此模式从应用程序启动数据库,由于所有的数据都将写到文件中,所以,即使程序退出,数据也不会被销毁。In-Process不需要另外启动,可以通过DriverManager.getConnection(jdbcUriName,”sa”,””);方式即可启动数据库。连接JDBC的实例为:
jdbc:hsqldb:file:/E:/hsqldb/data/dbname
jdbc:hsqldb:file:/opt/db/dbname
jdbc:hsqldb:file:dbname
三、 服务器模式:此模式下HSQLDB跟其它数据库服务器一样,需要通过服务器的形式来进行启动,可以通过java –cp ../lib/hsqldb.jar org.hsqldb.Server –database.0 testdb –dbname.0 testdbName的命令启动一个守护进程。连接JDBC的实例为:jdbc:hsqldb:hsql://localhost:<port>/dbname
四、 Web服务器模式:此模式以WEB服务器的形式启动,并通过HTTP协议接受客户端命令。从1.7.2版本开始,Web服务器模式的HSQLDB开始支持事务处理。可以通过java –cp ../lib/hsqldb.jar org.hsqldb.WebServer –database.0 testdb –dbname.0 testdbname的命令来启动。
重点讨论hsqldb服务器模式的启动方法和连接和实际java程序的JDBC连接情况。假设JDK已经安装到机器上,环境变量等都正确设置。
首先在E:\hsqldbTest目录下建立两个子目录,data和lib目录,data用来存放数据,lib用来管理jar包。将解压之后的hsqldb中的lib目录下的hsqldb.jar文件拷贝到E:\hsqldbTest\lib目录下。
1. 在hsqldbTest目录下创建runServer.bat文件,其内容为:
cd data
@java -classpath ../lib/hsqldb.jar org.hsqldb.Server
2. 保存runServer.bat文件,并双击运行该文件,此时回弹出命令行窗口,如下图,表示已启动HSQLDB数据库。

此时,在data目录下产生了三个文件,如:
test.lck ——标识数据库锁状态。
test.log ——运行数据库产生的log信息,它将记录每一个运行和用户操作环节。
test.properties——数据库的配置信息,包括分配的内存大小等,可更具需要修改。
注:如果在命令行窗口中按下[Ctrl] + [C]组合键,数据库将退出并关闭。
3. 再创建runManager.bat文件,用来启动图形界面管理工具,其内容为:
cd data
@java -classpath ..\lib\hsqldb.jar org.hsqldb.util.DatabaseManager
4. 保存runManager.bat文件,并双击文件,此时回弹出图形界面(注意,在进行这一不之前,必须确保第二步已执行),如下图。

Recent:将会列出最近的数据库配置
Setting Name: 设置名称,这里不需要填写
Type:选择服务器模式(HSQL Database Engine Server)
Driver:驱动名称,不需要修改
URL:JDBC连接,无需修改
User:用户名,根据需要设置
Password:密码,根据需要设置
5. 点击【OK】按钮,即可连接到test数据库。如下图所示。

此时,我们可以在窗口中创建表等操作,例如,我们创建一个TBL_USERS的表。在菜单栏中选择【COMMAND】->【CREATE TABLE】命令,此时在右下文本框中显示创建表的命令,包括各式,支持的类型等。我们创建的TBL_USERS表结构如下图所示:

6. 点击【Execute】按钮,如果无语法错误,SQL语句将正常执行,此时,选择菜单栏中的【View】->【Refresh Tree】命令,左侧栏中将显示创建的TBL_USERS。如下图所示。并且查看test.log文件,创建表的过程都将全部记录。

7. 另外还可以用DatabaseManagerSwing工具启动图形界面。创建runManagerSwing.bat文件,内容为:
cd data
@java -classpath ..\lib\hsqldb.jar org.hsqldb.util.DatabaseManagerSwing
保存文件,双击该文件,将启动Swing图形界面,如下图所示,具体的操作过程和DatabaseManager工具类似,不再重复。

以上就是启动hsqldb数据库和创建表的整个过程,其它的功能可以通过多次联系即可掌握。按照以上操作方式,hsqldb将自动产生一个test的数据库。但是有时候我们需要自己指定数据库,数据库访问名,数据库访问端口等,该如何实现呢,很简单。只要在相对根目录下创建一个server.properties文件即可。
创建自己制定的数据库:
1. 首先在E:\hsqldbTest目录下创建一个server.properties文件,文件内容为(注:在实际文件中,删除后面的注释内容):
server.port=9001 #指定端口号为9001
server.database.0=file:data/mydb # 将在data目录下创建mydb数据库
server.dbname.=mydb #指定数据库名,jdbc连接时就是用此名称
server.silent=true
2. 在E:\hsqldbTest目录下创建runServer2.bat文件,文件内容为
@java -classpath lib/hsqldb.jar org.hsqldb.Server
3. 双击运行runServer2.bat文件,将会在data目录下创建mydb数据库,并启动数据库。
4. 双击运行已创建好的runManagerSwing.bat文件,打开图形管理界面,并设置连接到mydb数据库中,如下图所示:

5. 配置好选项,点击【OK】按钮,即可连接到mydb数据库,在窗口中可以按照以前的步骤创建表,添加记录等操作。
好了,以上就是整个hsqldb的安装、启动、创建表等的全过程,在这里特别说明的是,hsqldb.1.8.1.3是用JDK.1.5以上的版本的编译的,所以,如果你使用的是低于jdk1.5的版本时,可能出现异常情况,不能正常使用。另外,即使你安装的jdk版本是1.5以上的,可能还会出现异常,该如何办呢,此时,确保你的hsqldb是在官方网站下载的,需要检查你的java的环境变量,由于你的机器可能安装有oracle,很有可能出现问题,此时只需将%JAVA_HOME%\bin路径放置在path路径的最开头,这样,就不会出现异常情况了。
接下来,我们通过一个具体的java程序来连接建立好的mydb数据库,并且在mydb数据库中创建一个TBL_USERS的表。并插入一条记录。
1. 在E:\hsqldbTest目录下创建一个HsqlDemo.java文件,内容如下:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.Statement;
import org.hsqldb.jdbcDriver;
public class HsqlDemo {
public static void main(String[] args) {
try {
Class.forName("org.hsqldb.jdbcDriver");
Connection c = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost:9001/mydb", "sa", "");
if (c != null) {
System.out.println("Connected db success!");
String sql = "CREATE TABLE TBL_USERS(ID INTEGER, NAME VARCHAR, BIRTHDAY DATE);";
Statement st = c.createStatement();
st.execute(sql);
sql = "INSERT INTO TBL_USERS(ID, NAME, BIRTHDAY) VALUES ('1', 'ADMIN', SYSDATE);";
st.executeUpdate(sql);
if (st != null) {
st.close();
}
c.close();
}
} catch(Exception e) {
System.out.println("ERROR:failed to load HSQLDB JDBC driver.");
e.printStackTrace();
return;
}
}
}
2. 在E:\hsqldbTest目录下建立一个runJava.bat文件,用来运行HsqlDemo.java。内容如下:
@echo off
set path=D:\Program Files\Java\jdk1.6.0_05\bin # jdk的路径
javac -classpath lib/hsqldb.jar HsqlDemo.java
java -cp lib/hsqldb.jar;./ HsqlDemo # 注意./ 后面的空格,./[空格] HsqlDemo
3. 确定mydb数据库已经启动,如果没有,运行runServer2.bat,启动数据库。
4. 运行runJava.bat文件,运行程序,如果无异常产生,说明已正确执行,此时,可以在mydb.log文件中看到创建的TBL_USERS,插入的记录,当然,可以用图形工具查看表。
Hsqldb安装与使用的更多相关文章
- hsql数据库使用详解(入门)及快速使用
一.简介: hsql数据库是一款纯Java编写的免费数据库,许可是BSD-style的协议,如果你是使用Java编程的话,不凡考虑一下使用它,相对其 他数据库来说,其体积小,才563kb.仅一个hsq ...
- xmpp openfire smack 介绍和openfire安装及使用
前言 Java领域的即时通信的解决方案可以考虑openfire+spark+smack.当然也有其他的选择. Openfire是基于Jabber协议(XMPP)实现的即时通信服务器端版本,目前建议使用 ...
- [安卓]windows下如何安装Android源码
本文改写于:http://www.cnblogs.com/skyme/archive/2011/05/14/2046040.html 1.下载并安装git: 在git-scm.com上下载并安装git ...
- Eclipse 和 HSQLDB: 将关系数据库服务器嵌入到 Eclipse 中,第 2 部分
HSQLDB 开发者角色 对 HSQLDB 与 Eclipse 工作台的集成感兴趣的开发者可以很容易地被分为两类: 客户机开发者,他们只是用 HSQLDB 来存储数据. 引擎开发者,他们通过添加新的标 ...
- Spring PecClinic宠物医院---安装
1.下载源代码 如果本地安装了Git工具,可以直接使用命令 git clone https://github.com/spring-projects/spring-petclinic.git 如果没有 ...
- weblogic11g 安装——linux 无图形界面
weblogic11g 安装——linux下无weblogic安装图形界面 注意:此次安装,没做server.ip .系统规划 目的:学习weblogic11g 在linux下 无图形安装的过程 j ...
- saiku安装方法总结
最近研究pentaho和saiku,在网上搜集了一些安装和配置的方法,亲测有效,在这分享总结一下方便日后使用. Saiku主要提供两种安装方式,独立运行和集成在Pentaho BI平台上,本文会简单介 ...
- EJBCA 在windows上的安装
为了做EJBCA的封装測试,在我自己电脑上装了个,可是在国内的开发上面的介绍实在是太少.有的也仅仅是些傻瓜式的安装介绍,这是介绍在Windows上安装的过程,(后面介绍下 linux 红帽上的),有些 ...
- ubuntu14.04 64位 安装eclipse
ubuntu14.04 64位 安装eclipse 1 在官网上下载eclipse http://www.eclipse.org/downloads/下载eclipse-jee-luna-SR1-li ...
随机推荐
- .net调用java写的WebServise时方法总是返回空的问题
解决方法如下: 直接用wsdl.exe根据描述文件生成代理类来调,可避免这样的问题. 同时附上,wsdl工具在.net菜单中的配置方法,参考园友: http://www.cnblogs.com/qfb ...
- there are no usable controls in this group
今天遇到一个怪事, MFC的toolbox是灰的, 不能使用, 后来上网一查找到解决方案: 右键Toolbox, 点击"Choose Items", 重新启动VS2013, 这样t ...
- SQL存在一个表而不在另一个表中的数据, 更新字段为随机时间
--更新字段为随机时间 86400秒=1天 UPDATE dl_robot ), ,GETDATE()) ) SQL存在一个表而不在另一个表中的数据 方法一 使用 not in ,容易理解,效 ...
- Tencent://Message/协议的实现原理
腾讯官方通过 Tencent://Message/协议可以让QQ用户显示QQ/TM的在线状态发布在互联网上:并且点击 XXX ,不用加好友也可以聊天 官方链接: http://is.qq.com/w ...
- 安装 SQL Server 2008 时提示需要删除 SQL Server 2005 Express 工具
已安装 SQL Server 2005,安装 SQL Server 2008 时提示需要删除 SQL Server 2005 Express 工具 错误提示:已安装 SQL Server 2005 E ...
- java容器的一些存取用法
关于集合(list,set,map)的遍历与增强for循环的使用 java集合类的使用可以说是无处不在,总的我们可以将之分为三大块,分别是从Collection接口延伸出的List.Set和以 ...
- ubuntu中常用软件的安装
1.有道词典 1.百度有道词典,进入有道首页,点"下载词典客户端",下载对应版本. 2.打开终端,进入下载目录,输入sudo dpkg -i youdao-dict_1.0.2~u ...
- SQL Server替换特殊字符
1.查找特殊字符的ASCII码,在这里当然能够看到这个特出字符的模样,可用函数取出这个特殊字符进行复制,下面的取值为9 Select ascii(' ') 2.根据ASCII码值替换特殊字符 Upda ...
- jquery 百度搜索
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- Socket Server-基于线程池的TCP服务器
了解线程池 在http://blog.csdn.net/ns_code/article/details/14105457(读书笔记一:TCP Socket)这篇博文中,服务器端采用的实现方式是:一个客 ...