Java实现嵌入式数据库(文本数据库)代码实例

在Java中虽然提供了良好的数据库支持并有大量的第三方持久层框架作为辅助,但相对其他语言来讲在Java中使用数据库连接时造成的系统损耗也会比较多。因此对于数据吞吐量较少的系统而言,有时放弃数据库而改为使用本地文件来存储资料反而是种较好的选择,比如我们对于Java程序的启动配置通常会使用Properties及dom4j等从文本文件或xml文档读取数据,而不会一股脑丢到数据库中,这几乎已经是一种常识。

但就功能而言,Properties的操作功能仅仅局限在对引入的文件进行操作,虽然比较适合简单的文件读写操作,却远没有xml那么强大,而且多配置时可能需要多个文件才能清楚搞定设置,否则会乱得一塌糊涂。但就xml而言,即便dom4j或jdom等java中常用的xml操作组件功能已很强大,但大量元素的出现又令其操作没有Properties调用来的直观,而且在文件较小时xml文档的处理速度也会较纯文本文件有不必要的浪费。

但若为了保存那少得可怜的数据而动用如access或sqllite等小型关系数据库,又未免太兴师动众,得不偿失。

比如我的loonframework-game框架,其本身是一个java2d游戏开发组件,所以应该提供一个用户可以使用的持久存储环境,用于存储地图,对话,分支剧情等等。而无论使用Properties或xml,我感觉都有某些局限性,不尽如人意(我很懒~)。

这时候如果能有一个组件即象Properties那么易于操作,而又象xml那样能处理较为复杂的数据,又兼备某些数据库特性就好了。

但我手头却没有那么方便的东西,于是只好响应在延安的号召“自己动手,丰衣足食”了。

源码下载地址如下:http://download.csdn.net/source/475512

这是一个简单的嵌入式数据库java实现,利用纯文本方式进行数据库操作,就性质上讲与Berkeley DB类似,并非标准的关系型数据库,不支持sql语句,全部操作采用api实现.但目前功能还较为简陋,以每一个表格代表一个文件中的存储区域,虽然有数据类型的概念,但是目前每种数据类型仅允许对应一个表,即在构建表时确定,不能混用。已经支持CRUD等基本操作,就效率上讲要较xml文档操作为高。

包内容如下:



使用示例如下:

阅读更多

没有更多推荐了,返回首页