`

hsqldb使用

    博客分类:
  • Java
阅读更多

hsqldb有下面几种模式

1.Server模式

首先要启动server 端:

例如,在命令行窗口执行:

# E:\1008\study\hsqldb\hsqldb_1_8_0_9\hsqldb\lib>java -cp hsqldb.jar org.hsqldb.Se   
# rver -database.0 file:c:/hsqldb/xxx -dbname.0 x -database.1 c:/hsqldb/test/mydat   
# abase2 -dbname.1 db2 
 

创建了2个数据库,如:database.0 database.1 最多只能创建10个

dbname.0 x ,dbname.1 db2这里的x和db2都是给客户端链接时使用的

database.0 file:c:/hsqldb/xxx,database.1 c:/hsqldb/test/mydatabase2 这里的xxx和mydatabase2是hsqldb文件的文件名,客户端链接时不能使用这个名字

然后启动工具窗口可以对建立的数据库进行操作。比如:

E:\1008\study\hsqldb\hsqldb_1_8_0_9\hsqldb\lib>java -cp hsqldb.jar org.hsqldb.util.DatabaseManage
 

这时会弹出一个工具窗口,可以对其进行设置

Recent:选择你最近的登录方案,[可选]
Setting Name:本次登录方案名称,如果本次登录成功,那么等你下次登录的时候在Recent下拉列表中将看到你的成功登录方案[可选]
Type:登录模式,其中包括In-Memory模式、Standalone(In-process)模式、Server模式、WebServer模式... ...[必选]
Driver:连接数据库的驱动程序[必选]
URL:连接数据库的URL[必选]
User:用户名[必选]
Password:密码[ 除非密码为空] ,默认密码是为空的,可以登录后对密码进行修改。只需要set password "123456",修改的只是当前链接的数据库,对其它数据库没有影响,hsqldb可以看着是一个库一个密码

 

2. 嵌入式In-Process打开

In-Process方式不用启动Server,直接设定JDBC URL即可,非常方便。但有一个缺点是只能在Java进程内共享信息,如果另外打开一个管理器,是没办法看到In-Process时的状态

jdbc:hsqldb:file:C:\hsqldb\testdb  

其中路径是script文件不带后缀名的全路径 ,可以绝对路径,也可以是打开应用的相对路径。

另外有一种读取jar/classpath中的script文件的In-Process方式,方便发布war时不知道具体路径的情况。不过这种方式是只读不存盘的,利用来单元测试也不错。下面的设置将读取classpath根目录下的test.script

jdbc:hsqldb:res:/hsqldb/testdb 

 

3.Memory方式打开
与In-Process方式最大区别是不能读取Script文件进行初始化

Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:dbName", "sa", ""); 
 

注意事项:当一个服务器实例启动或者建立一个in- process数据库连接的时候,如果指定的路径没有数据库存在,那么就会创建一个新的空的数据库。这个特点的副作用就是让那些新用户产生疑惑。在指定连 接已存在的数据库路径的时候,如果出现了什么错误的话,就会建立一个指向新数据库的连接。为了解决这个问题,你可以指定一个连接属性ifexists=true 只允许和已存在的数据库建立连接而避免创建新的数据库,如果数据库不存在的话,getConnection()方法将会抛出异常。

在hibernate中,使用hsql中,如果设置主键类型用Idenetity,那么java的field用Integer类型,不能用Long。

当你启动数据库执行创建表,增加数据的时候就会生成对应的sql语句。删除操作不会记录在script文件中 。如果没有以正确的方式退出hsqldb那么会增加*.lck和*.log文件,来记录你的操作,直到你正确保存数据并且退出数据库,这两个文件才会消失。
正确的退出数据库是执行shutdown命令

比如:

   1.  public class Test {   
   2.   
   3.     public static void main(String[] args){   
   4.         try{       
   5.             Class.forName("org.hsqldb.jdbcDriver");             
   6.             Connection conn = DriverManager.getConnection("jdbc:hsqldb:file:C:/hsqldb/testdb4/mydb4","sa","");       
   7.             Statement  st = conn.createStatement(); // statement objects can be reused with       
   8.             ResultSet  rs = st.executeQuery("select * from users"); // run the query       
   9.             while(rs.next()){      
  10.                 String s1=rs.getString("name");       
  11.                 System.out.println(s1);   
  12.             }   
  13.             st.close();       
  14.             st = conn.createStatement();       
  15.             st.execute("SHUTDOWN");       
  16.             conn.close(); // if there are no other open connection       
  17.             }catch(Exception e){       
  18.                 e=null;       
  19.                 e.printStackTrace();   
  20.             }      
  21.   
  22.     }   
  23. }  

分享到:
评论

相关推荐

    hsqldb使用(转载)

    hsqldb确实是个好东西,对于系统演示,开发等都很方便。

    hsqldb使用方法

    HSQLDB是一个开放源代码的JAVA数据库,其具有标准的SQL语法和JAVA接口,它可以自由 使用和分发,非常简洁和快速的。具有SERVER模式,进程内模式(IN-PROCESS)和内存模式 (MEMORY-ONLY)三种。运行HSQLDB需要HSQLDB.JAR...

    Hsqldb安装与使用

    图示和说明详细介绍Hsqldb安装与使用.

    hsqldb实例源代码

    简单的创建两个例子,如何创建hsqldb,如何使用hsqldb查询数据等。

    hsqldb包和使用说明

    里面有hsqldb.jar包,一份中文使用说明,服务器和控制台. 作测试十分好用!

    数据库操作的单元测试

    1.2.4. HSQLDB使用 7 1.2.5. HSLDB的使用注意事项 8 2. 数据库单元测试测试流程介绍 1 2.1. 数据库单元测试的原因 1 2.2. 测试关注点 1 2.3. 测试流程 1 3. 数据库单元测试最佳实践 2 3.1. 数据库单元测试最佳实践 2...

    hsqldb jdbc driver

    hsqldb jdbc driver适合于hsqldb

    HSQLDB简介和基本使用.doc

    HSQLDB简介和基本使用 HSQLDB简介和基本使用 HSQLDB简介和基本使用

    hsqldb-2.5.0.jar

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

    HSQLDB 1.8.0

    HSQLDB 1.8.0

    hsqldb-1.7.1.jar

    数据库连接 hsqldb1.7.1.jar

    hsqldb-2.3.2.zip

    hsqldb 2 3 2 zip HyperSQL是用Java编写的一款SQL关系数据库引擎 它的核心完全是多线程的 支持双向锁和MVCC 多版本并发控制 几乎完整支持ANSI 92 SQL 支持常见数据类型 最新版本增加了对BLOB和CLOB数据的支持 最高...

    hsqldb-lib.zip

    hsqldb可能需要的额外jar包 Additional Jar files needed for hsqldb.

    hsqldb的最新版本

    hsqldb的最新1.9.0版本,支持windows操作系统

    hsqldb-2.4.0.zip

    hsqldb-2.4.0

    hsqldb 2.25

    hsqldb for jdk1.5因为hsqldb的2.0版本以上都是jdk1.6进行编译的,我提供的这个2.25版本的是jdk1.5编译的。

    HSQLDB中文手册

    HSQLDB中文手册

    HSQLDB快速连接数据库

    HSQLDB中文文档,能够提高数据的处理速度。

    hsqldb-2.2.8数据库

    Hsqldb是一个开放源代码的JAVA数据库,其具有标准的SQL语法和JAVA接口,它可以自由使用和分发,非常简洁和快速。

Global site tag (gtag.js) - Google Analytics