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文件的文件名,客户端链接时不能使用这个名字
然后启动工具窗口可以对建立的数据库进行操作。比如:
java 代码
- E:\1008\study\hsqldb\hsqldb_1_8_0_9\hsqldb\lib>java -cp hsqldb.jar org.hsqldb.util.DatabaseManager
这时会弹出一个工具窗口,可以对其进行设置
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命令
比如:
- public class Test {
-
- public static void main(String[] args){
- try{
- Class.forName("org.hsqldb.jdbcDriver");
- Connection conn = DriverManager.getConnection("jdbc:hsqldb:file:C:/hsqldb/testdb4/mydb4","sa","");
- Statement st = conn.createStatement();
- ResultSet rs = st.executeQuery("select * from users");
- while(rs.next()){
- String s1=rs.getString("name");
- System.out.println(s1);
- }
- st.close();
- st = conn.createStatement();
- st.execute("SHUTDOWN");
- conn.close();
- }catch(Exception e){
- e=null;
- e.printStackTrace();
- }
-
- }
- }
分享到:
相关推荐
通过JDBC,我们可以使用`jdbc:hsqldb:hsql://localhost:9002/test`连接到服务器。 - **In-Process (Standalone)模式**:在这种模式下,数据库与应用程序在同一进程中运行,访问速度最快。但是,它仅限于当前进程,...
HSQLDB 可以作为嵌入式数据库使用,直接与应用程序一起打包,无需额外的服务器进程。同时,它也支持服务器模式,可以作为独立的服务供多个客户端连接。这种灵活性使得HSQLDB 在各种应用场景中都能发挥出色。 ### ...
HSQLDB是一个开放源代码的JAVA数据库,其具有标准的SQL语法和JAVA接口,它可以自由 使用和分发,非常简洁和快速的。具有SERVER模式,进程内模式(IN-PROCESS)和内存模式 (MEMORY-ONLY)三种。运行HSQLDB需要HSQLDB.JAR...
在"hsqldb demo"中,可能包含了一个简单的HSQldb 使用示例,演示如何在Java项目中集成和使用HSQldb。通常,这个示例会涵盖以下步骤: 1. **引入依赖**:在Java项目中,通过Maven或Gradle等构建工具引入HSQldb 的库...
- **序列生成**:Oracle使用序列对象生成唯一ID,而HsqlDB使用`next value for`语法获取序列的下一个值。 2. **创建HsqlDB数据库**: - **下载与安装**:从官方网站获取最新版本的HsqlDB,解压缩后配置数据库路径...
### Hsqldb 使用详解 #### 1. 概述与组件介绍 Hsqldb是一款开源、类型安全且高性能的关系型数据库管理系统。它支持标准的SQL语法,并提供了多种使用模式,适用于开发过程中的不同需求场景。Hsqldb的核心功能由`...
描述中的"一份中文使用说明"是为了帮助中国用户更好地理解和使用HSQldb,提供了详细的中文操作指南,这对于初学者来说是非常有帮助的。 HSQldb有两种主要的运行模式:内存模式和文件模式。在内存模式下,数据库完全...
HSQLDB的性能可以通过调整内存大小、使用存储引擎类型(内存或文件)、索引策略等方式进行优化。在处理大量数据时,合理设计表结构和索引能显著提升查询效率。 总之,HSQLDB是一款强大且灵活的数据库解决方案,无论...
HSQLDB的性能优化主要包括合理设计表结构、使用索引、优化查询语句等方面。例如,为经常用于查询的字段创建索引,可以显著提高查询速度。 **备份与恢复** HSQLDB提供了数据库备份和恢复功能,可以通过导出和导入...
hsqldb数据库下载,很好用,简易的内存数据库,特别适合初学者。
由于HSQldb自2.0版本起,官方默认使用JDK 1.6或更高版本进行编译,这可能对仍在使用JDK 1.5的开发者造成兼容性问题。因此,HSQldb 2.25的出现,为那些无法或不想升级JDK但仍需使用较新HSQldb功能的用户提供了一个...
1. **运行与使用HSQLDB**:介绍了HSQLDB的基本使用方法,包括如何运行HSQLDB及其提供的不同工具(如`HsqldbServer`、`HsqldbWebServer`等),以及如何在不同模式下使用HSQLDB。 2. **SQL问题**:探讨了HSQLDB对SQL...
在使用HSQldb-2.2.8时,开发者通常会通过下载解压后的文件,找到对应的JDBC驱动(通常为`hsqldb.jar`),将其添加到项目的类路径中,然后通过JDBC API连接到数据库。HSQldb的配置文件(如`hsqldb.properties`)可以...
7. **文档更新**:与新版本一同发布的可能还有更新后的用户手册和开发者指南,这些文档会详细介绍新特性和使用方法,帮助开发者更好地理解和使用HSQldb。 8. **社区支持**:HSQldb的社区活跃度是其持续发展的关键,...
- **安装步骤**:无需复杂安装,只需将HSQLDB包解压至所需的目录即可使用。 #### 三、HSQLDB的运行与使用 - **运行工具**:包括HsqldbServer、HsqldbWebServer等。 - **HsqldbServer**:提供数据库服务的服务器端...
总的来说,HSQldb-lib.zip这个压缩包为HSQldb的开发者和使用者提供了更广泛的兼容性和功能性,使得HSQldb能够更好地适应各种复杂的开发场景。理解这些额外库的作用和用法,将有助于我们更有效地利用HSQldb进行数据库...
1. **开源免费**:HSQLDB遵循Apache Software License 2.0,允许用户自由使用、修改和分发,降低了开发成本。 2. **轻量级**:HSQLDB体积小,易于部署,对硬件资源需求低,适合小型应用和开发测试环境。 3. **高...