`
dingjun1
  • 浏览: 211851 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

HSQLDB使用简介

阅读更多
HSQLDB
(作者dingjun1 hsqldb1.8.09)
一、 服务端启动模式
a) Server
这是首选、也是最快的服务端启动模式,下面的命令行表示启动一个文件命名为dbname.*的数据库服务端

Shell>Java –cp ../hsqldb.jar org.hsqldb.Server –database.0 file:dbname  –dbname.0 dbalias

备注数据库文件在当前文件夹下,hsqldb.jar在上级目录中,如果数据库文件(db.name.*)在C:\myhsqldb目录下,
命令可以改为:
Shell>Java –cp ../hsqldb.jar org.hsqldb.Server –database.0 file:c:\myhsqldb\dbname  –dbname.0 dbalias

如果同时启动多个数据库

Shell>Java –cp ../hsqldb.jar org.hsqldb.Server –database.0 file:dbname  –dbname.0 dbalias –database.1 file:dbname1 –dbname.1 dbalias1
如果数据库文件不存在,会自动产生以数据库指定名称的文件(如:dbname.log dbname.properties dbname.lck等)

b) Web Server
当客户端和服务端有防火墙,只能通过HTTP协议访问时,以这个模式启动,不般不使用,在版本1.7.2后支持事务。启动的主类为:org.hsqldb.WebServer

Shell>Java –cp ../hsqldb.jar org.hsqldb.WebServer –database.0 file:dbname  –dbname.0 dbalias –database.1 file:dbname1 –dbname.1 dbalias1

c) Servlet
同WebServer启动一样,只能通过HTTP协议方式访问,只能启动一个数据库,启动依赖于Servlet引擎

d) 连接到数据库服务端
Hsqldb.jar包中有JDBC驱动
下面的代码给出了示例:
String url = “jdbc:hsqldb:hsql://localhsot/dbalias”
Try{
Class.forName(“org.hsqldb.jdbcDriver”);
}catch(ClassNotFoundException e){
e.printStackTrace();
}
Connection cn = DriverManager.getConnection(url,username,password);
二、 进程模式(标准模式)
这种模式,数据库引擎是做为应用程序的一部分和应用程序一起处在同一个JVM中,由于这种模式不能通过网络修改和发送数据,对大部分程序是比较快的。数据库在程序外不能在程序外部连接

进程模式在连接URL中指定数据库文件,通过JDBC运行数据库
以下命令为启动一个在e:\opt\db\目录下,数据库文件为testdb.*的数据库
也可以使用相对路径(JVM目录)
Connection c = DriverManager.getConnection("jdbc:hsqldb:file:c:\\opt\\db\\testdb", "sa", "");

三、 内存模式
当不要保存数据到磁盘时,只是用于特定的程序进行服务与客户的信息交换,不进行永久保存时,(在server.properties中指定相同的URL启动内存模式的数据库服务?You can also run a memory-only server instance by specifying the same URL in the server.properties)
Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:aname", "sa", "");

四、 数据库引擎其它
a) 数据库产生,在进程模式中,如果提供的文件不存在,当服务器实例运行,会新产生一个空的数据库与实例相连,这时如果是由于一连接地址书写错误,也很难发现,可以通过参数ifexists=true来设定,只连接存在的数据库
b) 关闭数据库实例
通过发送shutdown命令,进程内的数据在连接丢失后会自动关闭
c) HSQLDB支持TEMP类型的表和MEMORY 、CACHED 、 TEXT 持久类型的表


五、 其它
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的主界面启动,便于交互式操作。


datatypes:
  1. Name --------------Range--------------Java Type
  2. INTEGER | INT--------------as Java type--------------int | java.lang.Integer
  3. DOUBLE [PRECISION] | FLOAT--------------as Java type--------------double | java.lang.Double
  4. VARCHAR--------------as Integer.MAXVALUE--------------java.lang.String
  5. VARCHAR_IGNORECASE--------------as Integer.MAXVALUE--------------java.lang.String
  6. CHAR | CHARACTER--------------as Integer.MAXVALUE--------------java.lang.String
  7. LONGVARCHAR--------------as Integer.MAXVALUE-------------- java.lang.String
  8. DATE--------------as Java type--------------java.sql.Date
  9. TIME--------------as Java type--------------java.sql.Time
  10. TIMESTAMP | DATETIME-------------- as Java type--------------java.sql.Timestamp
  11. DECIMAL--------------No limit--------------java.math.BigDecimal
  12. NUMERIC--------------No limit--------------java.math.BigDecimal
  13. BOOLEAN | BIT--------------as Java type--------------boolean | java.lang.Boolean
  14. TINYINT--------------as Java type--------------byte | java.lang.Byte
  15. SMALLINT--------------as Java type--------------short | java.lang.Short
  16. BIGINT--------------as Java type--------------long | java.lang.Long
  17. REAL --------------as Java type--------------double | java.lang.Double[2]
  18. BINARY--------------as Integer.MAXVALUE--------------byte[]
  19. VARBINARY--------------as Integer.MAXVALUE--------------byte[]
  20. LONGVARBINARY--------------as Integer.MAXVALUE--------------byte[]
  21. OTHER | OBJECT--------------as Integer.MAXVALUE--------------java.lang.Object




create table:

CREATE [TEMP] [CACHED|MEMORY|TEXT] TABLE name
( columnDefinition [, ...] )

columnDefinition:
column DataType [ [NOT] NULL] [PRIMARY KEY]
DataType:
{ INTEGER | DOUBLE | VARCHAR | DATE | TIME |... }

分享到:
评论

相关推荐

    HSQLDB简介和基本使用.doc

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

    HSQLDB的使用

    **HSQLDB简介** HSQLDB(HyperSQL Database)是一个开源、轻量级、高性能的关系型数据库管理系统,广泛应用于测试、开发以及嵌入式环境。它支持标准的SQL语法,并且提供了多种数据库引擎模式,包括内存模式、文件...

    HSQLDB快速连接数据库

    #### 一、HSQLDB简介与特点 HSQLDB(HyperSQL Database)是一款优秀的轻量级开源纯Java SQL数据库管理系统。它被设计为易于集成到现有的Java应用环境中,尤其适合那些对性能和资源消耗有较高要求的应用场景。HSQLDB...

    HSQLDB安装与使用-转自http://www.cnblogs.com/wllyy189/archive/2008/11/15/1334002.html

    **HSQLDB简介** HSQLDB(HyperSQL Database)是一个开源、轻量级、高性能的关系型数据库管理系统,适用于Java应用程序。它支持嵌入式模式、服务器模式和混合模式,可以作为独立的数据库服务器运行,也可以作为Java...

    JDBC-HSQLDB.rar_hsqldb

    **JDBC-HSQLDB简介** JDBC(Java Database Connectivity)是Java编程语言中用来规范客户端程序如何访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法。HSQLDB(HyperSQL Database)则是一个轻量级...

    HSQLDB 中文文档

    - **简介**:HSQLDB提供了多种运行模式,包括SERVER模式和In-Process(Standalone)模式,满足不同场景下的需求。此外,还支持Memory-Only数据库,用于临时存储和快速处理数据。 - **运行工具**:HSQLDB提供了hsqldb...

    HSQLDB用户手册

    - **数据类型简介**:简要介绍了HSQLDB支持的主要数据类型及其用途。 - **数值类型**:包括整型、浮点型等,适用于存储数字数据。 - **布尔类型**:表示逻辑值TRUE或FALSE。 - **字符字符串类型**:用于存储文本...

    hsqldb_1_8_0_8

    1. **HSQldb简介** - HSQldb是Java世界中的一个强大工具,它提供了SQL接口和事务处理功能,适用于小型到中型的数据存储需求。 - 作为纯Java实现,HSQldb具有跨平台性,可以在任何支持Java的环境中运行,无需依赖...

    jasperreport ant运行以及启动hsqldb服务

    #### 三、HSQLDB简介 HSQLDB(HyperSQL Database)是一个开放源代码的关系数据库管理系统,它完全由Java编写,支持SQL标准并实现了高级特性,如触发器、存储过程等。HSQLDB可以作为嵌入式数据库使用,也可以作为一...

    hsqldb-example:在内存中使用数据库,hsqldb的用法

    **HSQldb简介** HSQldb(HyperSQL Database)是一个纯Java实现的关系型数据库管理系统,支持标准的SQL语法,包括SQL-92和SQL:2003。它设计为轻量级、高性能且适用于嵌入式应用,比如Java应用程序和Web应用。HSQldb...

    Java编写的关系数据库:hsqldb_1.7.3

    2. **启动数据库**: 使用`org.hsqldb.Server`类启动HSQDB服务器,或者在Java代码中直接创建`org.hsqldb.jdbc.JDBCConnection`实例。 3. **创建数据库**: 通过SQL语句`CREATE DATABASE`来创建新的数据库。 4. **...

    基于MyBatis框架的深度解析项目.zip

    HSQLDB数据库简介介绍HSQLDB数据库的基本信息和使用方法。 第2章JDBC规范详解 JDBC API简介概述JDBC API的基本功能和使用方法。 JDBC API中的类与接口详细介绍JDBC API中的主要类和接口,如Connection、...

    HyperSQL_User_Guide.pdf

    安全性是使用数据库时的重要考虑因素,HSQLDB提供了多种机制来确保数据的安全性,包括权限管理和加密通信等。 **使用多个数据库** 用户可以在同一实例中管理多个数据库,每个数据库具有独立的配置和数据。 **访问...

    spring Roo安装使用简介

    * PetClinic实例项目使用了Hibernate作为JPA存储类型,并使用了HSQLDB作为数据库。 知识点六:Roo命令和参数 * Roo命令可以指定多种参数,以便快速创建项目原型和骨架。 * Roo命令可以指定顶级包名、JPA存储类型、...

    Eclipse下MVC框架的搭建.pdf

    【描述】:本文档详细介绍了如何在Eclipse环境中利用Spring、Struts2、Hibernate这三大流行框架搭建一个MVC结构的Web应用,并使用HSQLDB作为轻量级数据库。 【标签】:技术、Java、Web开发、MVC、Eclipse、SSH、...

Global site tag (gtag.js) - Google Analytics