db4o学习笔记(一)、db4o概览
在进行深入学习db4o之前,首先来看看它的相关组件及家族成员。
db4o数据库引擎
db4o数据库引擎只包含一个单独的dll文件,这便是其你利用它进行系统开发的全部。如果你是采用安装方式的话可以在安装文件夹下的/db4o-5.0/dll中找到它。目前针对微软不同版本的.net框架主要有两个版本的db4o版本,它们分别对应于.net framework 1.0/1.1及.net framework 2.0,在使用时我们应该选择正确的db4o版本。
/db4o-5.0/dll/net/db4o.dll
is the standard db4o engine for the .NET framework.
/db4o-5.0/dll/compact/db4o.dll
is built for the .NET CompactFramework.
写了这么多让我们正式进入db4o之旅吧。在使用db4o时需要使用到的两个主要的命名空间是com.db4o以及com.db4o.query,在com.db4o命名空间中包含了我们使用db4o几乎所有的功能,其中又以com.db4o.Db4o和comd.db4o.ObjectContainer特别重要。
com.db4o.Db4o工厂是db4o之旅的入口,此类中包含的一些静态方法允许我们打开一个数据库文件,启动一个服务器或连接到已有的服务器(没有想到吧小小几百K的数据库引擎也支持C/S访问方式),同时也允许在打开数据库文件之前进行相关的配置。
另外一个我们在99%的情况下都会使用的接口是com.db4o.ObjectContainer,这就是我们的db4o数据库。一个ObjectContainer即可以是单用户模式下的数据库,也可以是C/S模式下的数据库对象。ObjectContainer都拥有一个自己的事务,后续所有的工作都在事务管理下进行,当我们使用Commit()或Rollback()提交/回滚一个事务时,db4o将立即开始一个新事务。在使用db4o时请确保ObjectContainer一直打开着,如果不小心关闭了ObjectContainer,内存中数据库引用的所有对象将丢失。
在com.db4o.ext和com.db4o.config中包含了一些我们对ObjectContainer进行配置或其它额外操作的类、对象。在com.db4o.query中则包含了用于构建原生查询(Native Queries其它一些资料译为本地化查询)的谓词类,db4o原生查询接口是数据库引擎主要的和我们首先查询接口。