Chinaunix首页 | 论坛 | 博客
  • 博客访问: 30465655
  • 博文数量: 708
  • 博客积分: 12163
  • 博客等级: 上将
  • 技术积分: 8240
  • 用 户 组: 普通用户
  • 注册时间: 2007-12-04 20:59
文章分类

全部博文(708)

分类: Java

2008-12-22 10:15:28

这两天,有个问题一直困扰着我,就是我从s2DAO官网下载下来的示例程序,跑是跑起来,数据也展现出来了。

 

但是我一没建库,二没建表。这些数据是从哪冒出来的呢?怎么感觉像是无源之水啊,然道是天上掉下来的?石头中蹦出来的?像孙大圣那样。晕

 

今天,在调查s2DAO的事务处理这个问题的时候,突然发现了上面那个问题的答案:

 

在中,我看到这样的表述:

 

S2Dao,为了能够简单的体验数据库功能,提供了HSQLDB 作为RDBMS。 lib/hsqldb.jar在运行HSQLDB时是必须的,但是在实际环境中则不需要。

 

赶紧Google,查HSQLDB。在中,我看到这些表述:

 

HSQLDB是一个使用 语言编写的 ,有一个 ,支持ANSI-92 SQL的一个子集。提供对的小型,快速的引擎。这个产品是Hypersonic SQL的后续产品,2001年启动。

 

仅一个hsqldb.jar文件就包括了数据库引擎,数据库驱动,还有其他用户界面操作等内容。

 

第一次运行数据库引擎,创建数据库完毕。 mydb.properties文件:是关于数据库的属性文件。 mydb.script:hsql主要保存的表(这里按hsql的说法是Memory表,就是最为常用的),里面的格式都是文本格式,可以用文本查看,里面的语句都是sql语句,熟悉sql语句的话,你也可以手动修改它。每次运行数据库引擎的话都是从这里加载进内存的。

 

突然想起,自己在例子程序中,确实看到过这样的sql脚本文件demo.script,我赶紧改动其中的一条insert语句,再测试,效果立马体现了。

 

至此,困惑我近2天的问题找到答案了。这个例子程序中,并没有使用我们传统意义上的数据库和表,而是使用硬盘上的文件来存储数据信息。每次运行都是从这个文件中将数据读到内存中(即介绍中提到的硬盘表和内存表)。

 

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

 

阅读(2257) | 评论(0) | 转发(0) |
0

上一篇:Transaction

下一篇:S2Dao类图

给主人留下些什么吧!~~