关于开源世界里的面向对象数据库db4o
作者:佚名; 更新时间:2014-12-05
论文关键词: 面向对象数据库;db4o;开源;程序设计
论文摘要:介绍了开源的,面向对象数据库db4o的优点及特性,通过c#语言展示其如何在程序设计中使用和操作。细致讲解db4o如何对数据库中的对象进行基本的加载,更新,删除操作及其三种十分重要的查询方式。
CHEN Shuai, LIU Wen-ju
(Tianjin polytechnic university , Tianjin 300160, China)
Abstract:Describes the advantages and characteristic of db4o which is an kind of open source OODB. The article Show that how to operate the db4o on programming by using c# langue. The article also Explain how to load, update, delete one object of database and three very importent way of query of the db4o.
Key words:OODB;db4o;open source;programming
1 引言
面向对象是一种认识方法学,也是一种新的程序设计方法学。把面向对象的方法和数据库技术结合起来可以使数据库系统的分析、设计最大程度地与人们对客观世界的认识相一致。面向对象数据库系统是为了满足新的数据库应用需要而产生的新一代数据库系统。
这里要介绍的db4o数据库就是一种Java , .NET及Mono原生的性能卓越的纯面向对象的开源的数据库引擎,由来自加州硅谷的开源面向对象数据库公司 db4objects开发研制。对于Java 与 .NET 开发者来说都是一个简单易用的对象持久化工具,使用简单,你只需要在你的项目中加入db4o.dll的引用即可。目前一些世界级的领导厂商如 Inter,IBM,Bosch,BMW,Seagate,Hertz等都是它的客户。
b4o 的目标是提供一个适合嵌入的功能强大的数据库引擎,用以工作在移动设备,桌面以及服务器等各种平台。其主要特性如下:
开源模式:与其他 ODBMS 不同,db4o 为开源软件。
原生数据库:db4o 是 100% 的原生的面向对象数据库,直接使用编程语言来操作数据库。程序员无需进行 OR 映射来存储对象,大大节省了程序员在存储数据的开发时间。
高性能: db4o安装简单占空间小,仅需要400Kb左右。在db4o官方公布的基准测试数据中,db4o比采用Hibernate/MySQL方案在某些测试线路上速度高出44倍之多。
零管理:使用db4o无需DBA。
db4o支持Java和.Net平台。
2 设计类实例
在对db4o数据库的特点和特性有了大致了解后,我们通过一个例子来介绍db4o数据库在程序设计中的使用。 事例语言为C#语言,这个例子展示如何存储、更新、加载、删除一个只包括系统内置类型及字符串成员的简单对象实例,这个对象是一个存储了学生(Student)的相关信息如姓名及本学期所取得学分的类。
public class Student
{ private string _name;
private int _points;
public Student(string name, int point)
{ _name = name;
_points = points; }
public string name
{ get{ return _name;}
set{ _name = value;} }
public int points
{ get{ return _ points;}
set{ _ points = value;} }
public void AddPoints(int points)
{ points += points; }
override public string ToString()
{ return string.Format("{0}/{1}", _name, _points); } }
3 打开关闭数据库
使用Db4o.OpenFile()函数打开或新建一个db4o数据库,Db4o.OpenFile()需要一个参数作为特定路径的文件名,以此来获得特定的ObjectContainer实例——ObjectContainer对外就是一个数据库,也是我们操作db4o的主要接口。关闭ObjectContainer使用Close()函数,它将会关闭数据库文件并释放其占用的系统资源。
ObjectContainer db=Db4o.OpenFile(FilePathName);
try
{// You can do something here}
finally
{ db.Close(); }
此处db作为下文引用和存储数据库文件的变量名,其打开和关闭数据库的操作后面将不再写出。
4 保存对象
当我们想保存一个对象时,我们只需要简单的调用db4o的Set()方法,并传入要保存的对象作为参数即可。比如向db4o数据库存入一个姓名为“Liming”,学分是86的学生对象。代码如下:
Student stu = new Student("Liming", 86);
db.Set(stu);
Console.WriteLine("Student {0}", stu.Tostring());
热门论文