这两天,有个问题一直困扰着我,就是我从s2DAO官网下载下来的示例程序,跑是跑起来,数据也展现出来了。
但是我一没建库,二没建表。这些数据是从哪冒出来的呢?怎么感觉像是无源之水啊,然道是天上掉下来的?石头中蹦出来的?像孙大圣那样。晕
今天,在调查s2DAO的事务处理这个问题的时候,突然发现了上面那个问题的答案:
在http://s2dao.seasar.org/zh-cn/s2dao.html中,我看到这样的表述:
S2Dao,为了能够简单的体验数据库功能,提供了HSQLDB
作为RDBMS。
lib/hsqldb.jar在运行HSQLDB时是必须的,但是在实际环境中则不需要。
赶紧Google,查HSQLDB。在http://wiki.ccw.com.cn/HSQL中,我看到这些表述:
HSQLDB是一个使用Java
语言编写的关系型数据库
,有一个JDBC
driver
,支持ANSI-92 SQL的一个子集。提供对内存表
和硬盘表
的小型,快速的引擎。这个产品是Hypersonic SQL的后续产品,2001年启动。
仅一个hsqldb.jar文件就包括了数据库引擎,数据库驱动,还有其他用户界面操作等内容。
第一次运行数据库引擎,创建数据库完毕。
mydb.properties文件:是关于数据库的属性文件。
mydb.script:hsql主要保存的表(这里按hsql的说法是Memory表,就是最为常用的),里面的格式都是文本格式,可以用文本查看,里面的语句都是sql语句,熟悉sql语句的话,你也可以手动修改它。每次运行数据库引擎的话都是从这里加载进内存的。
突然想起,自己在例子程序中,确实看到过这样的sql脚本文件demo.script,我赶紧改动其中的一条insert语句,再测试,效果立马体现了。
至此,困惑我近2天的问题找到答案了。这个例子程序中,并没有使用我们传统意义上的数据库和表,而是使用硬盘上的文件来存储数据信息。每次运行都是从这个文件中将数据读到内存中(即介绍中提到的硬盘表和内存表)。
事后小结:其实答案就在官方文档中,它已经有了相关表述,尽管在偌长的文档中只说了这一句。自己以后看官网文档还是要再仔细些。
分享到:
相关推荐
HSQldb是一个轻量级的关系型数据库管理系统,特别适合用于系统演示、开发和测试环境。它的特点是快速、灵活且易于使用。HSQldb支持多种运行模式,满足不同场景的需求。 1. **数据库实例创建** 创建HSQldb数据库...
HSQldb是一个开源的、轻量级的、嵌入式的Java数据库引擎,常用于开发测试环境和小型应用程序。它的全称是HyperSQL Database,能够支持SQL标准,包括SQL:2011。HSQldb因其小巧、快速和易用的特点,在Java开发中尤其受...
**HSQLDB(HyperSQL Database)详解** HSQLDB,全称HyperSQL数据库管理系统,是一款开源、轻量级、高性能的关系型数据库系统。它支持Java平台,并且完全遵循SQL标准,提供内存和磁盘两种存储方式,使得它适用于多种...
标题 "hsqldb相关几个文件" 提到的是与HSQldb相关的压缩包资源,HSQldb是一个开源的关系型数据库管理系统,特别适用于Java应用程序。描述中提及的有两个zip文件:hsqldb_1_8_0_10.zip 和 hsqldb-mini.zip,以及一个...
同时,HSQldb提供了丰富的JAVA接口,包括JDBC驱动程序,使得开发者能够轻松地在Java应用程序中集成数据库功能。 在性能方面,HSQldb以其小巧的体积和快速的执行速度著称。由于它可以完全基于内存运行,对于需要快速...
5. **嵌入式和服务器模式**:HSQldb支持在应用程序内部作为嵌入式数据库运行,也支持独立的服务器模式,便于多用户访问和远程连接。 6. **事务支持**:提供了ACID(原子性、一致性、隔离性和持久性)级别的事务管理...
HSQldb,全称 HyperSQL Database,是一款轻量级、开源的嵌入式关系型数据库管理系统,特别适合用于开发和测试环境。以下是对HSQldb快速入门的详细讲解: **安装与配置** HSQldb可以从其官方网站...
HSQldb(HyperSQL Database)是一款开源的、轻量级的关系型数据库管理系统,适用于嵌入式系统和独立应用程序。HSQldb以其高效、小巧、支持SQL标准和Java API的特点,在开发过程中被广泛采用。而HSQldb的管理工具则为...
在"hsqldb demo"中,可能包含了一个简单的HSQldb 使用示例,演示如何在Java项目中集成和使用HSQldb。通常,这个示例会涵盖以下步骤: 1. **引入依赖**:在Java项目中,通过Maven或Gradle等构建工具引入HSQldb 的库...
2. **SQL问题**:探讨了HSQLDB对SQL标准的支持程度,包括对各种SQL语句(如SELECT、UPDATE等)的解释和示例,以及如何使用HSQLDB来管理数据完整性约束。 3. **UNIX下快速起步**:提供了一套适用于UNIX系统的快速入门...
HSQldb(HyperSQL Database)是一款开源、轻量级、嵌入式的关系型数据库管理系统,广泛应用于Java应用程序中。它支持SQL标准,提供单用户和多用户模式,并且可以运行在内存中或磁盘上。HSQldb的灵活性和易用性使其...
在Java环境中,HSQldb可以通过JDBC驱动程序来创建和管理。以下是一个简单的创建数据库的步骤: 1. **加载JDBC驱动**:在Java程序中,我们需要通过`Class.forName()`方法加载HSQldb的JDBC驱动。 2. **建立连接**:...
- **JDBC支持**:提供JDBC驱动程序,便于Java应用程序连接和操作数据库。 #### 五、SQL问题详解 - **对SQL标准的支持**:HSQLDB遵循并扩展了SQL标准,支持复杂的查询语法。 - **约束和索引**: - **主键**:定义...
HSQldb,全称HyperSQL Database,是一款开源的、轻量级的关系型数据库管理系统,尤其适合于嵌入式应用和开发测试环境。HSQldb完全用Java编写,因此具有跨平台性,能在任何支持Java的环境中运行,包括Windows操作系统...
HSQLDB无需独立服务器进程,可以直接在应用程序内部运行,极大地简化了部署流程。 一、HSQLDB的特点: 1. 纯Java实现:HSQLDB完全用Java编写,这意味着它可以跨平台运行,无论是Windows、Linux还是Mac OS,都能轻松...
4. **教学示例**:在数据库教程和教学中,HSQldb作为学习和演示SQL的平台。 五、总结 HSQldb 2.3.3作为一个强大的轻量级数据库,不仅满足了开发者的各种需求,还在性能、安全性和易用性上达到了良好的平衡。无论是...