s2DAO例子程序中用的是HSQLDB

这两天,有个问题一直困扰着我,就是我从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天的问题找到答案了。这个例子程序中,并没有使用我们传统意义上的数据库和表,而是使用硬盘上的文件来存储数据信息。每次运行都是从这个文件中将数据读到内存中(即介绍中提到的硬盘表和内存表)。

 

事后小结:其实答案就在官方文档中,它已经有了相关表述,尽管在偌长的文档中只说了这一句。自己以后看官网文档还是要再仔细些。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值