谈开源世界里的面向对象数据库db4o

谈开源世界里的面向对象数据库db4o

ID:21355657

大小:72.00 KB

页数:10页

时间:2018-10-21

谈开源世界里的面向对象数据库db4o_第1页
谈开源世界里的面向对象数据库db4o_第2页
谈开源世界里的面向对象数据库db4o_第3页
谈开源世界里的面向对象数据库db4o_第4页
谈开源世界里的面向对象数据库db4o_第5页
谈开源世界里的面向对象数据库db4o_第6页
谈开源世界里的面向对象数据库db4o_第7页
谈开源世界里的面向对象数据库db4o_第8页
谈开源世界里的面向对象数据库db4o_第9页
谈开源世界里的面向对象数据库db4o_第10页
资源描述:

《谈开源世界里的面向对象数据库db4o》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、谈开源世界里的面向对象数据库db4o  论文:面向对象数据库;db4o;开源;程序设计  论文:先容了开源的,面向对象数据库db4o的优点及特性,通过c#语言展示其如何在程序设计中使用和操纵。细致讲解db4o如何对数据库中的对象进行基本的加载,更新,删除操纵及其三种十分重要的查询方式。   CHENShuai,LIUono原生的性能卓越的纯面向对象的开源的数据库引擎,由来自加州硅谷的开源面向对象数据库公司db4objects开发研制。对于Java和.开发者来说都是一个简单易用的对象持久化工具,使用简单,你只需要在你的项目中加进db4o.dll

2、的引用即可。目前一些世界级的领导厂商如Inter,IBM,Bosch,BMS不同,db4o为开源软件。  原生数据库:db4o是100%的原生的面向对象数据库,直接使用编程语言来操纵数据库。程序员无需进行OR映射来存储对象,大大节省了程序员在存储数据的开发时间。  高性能:db4o安装简单占空间小,仅需要400Kb左右。在db4o官方公布的基准测试数据中,db4o比采用Hibernate/MySQL方案在某些测试线路上速度高出44倍之多。  零治理:使用db4o无需DBA。  db4o支持Java和.Net平台。    2设计类实例    在

3、对db4o数据库的特征和特性有了大致了解后,我们通过一个例子来先容db4o数据库在程序设计中的使用。事例语言为C#语言,这个例子展示如何存储、更新、加载、删除一个只包括系统内置类型及字符串成员的简单对象实例,这个对象是一个存储了学生(Student)的相关信息如姓名及本学期所取得学分的类。  publicclassStudent  {privatestring_name;  privateint_points;  publicStudent(stringname,intpoint)  {_name=name;  _points=points;

4、}  publicstringname  {get{return_name;}  set{_name=value;}}  publicintpoints  {get{return_points;}  set{_points=value;}}  publicvoidAddPoints(intpoints)  {points+=points;}  overridepublicstringToString()  {returnstring.Format("{0}/{1}",_name,_points);}}    3打开封闭数据库    使用Db4

5、o.OpenFile()函数打开或新建一个db4o数据库,Db4o.OpenFile()需要一个参数作为特定路径的文件名,以此来获得特定的ObjectContainer实例——ObjectContainer对外就是一个数据库,也是我们操纵db4o的主要接口。封闭ObjectContainer使用Close()函数,它将会封闭数据库文件并开释其占用的系统资源。  ObjectContainerdb=Db4o.OpenFile(FilePathName);  try  {//Youcandosomethinghere}  finally  {db

6、.Close();}  此处db作为下文引用和存储数据库文件的变量名,其打开和封闭数据库的操纵后面将不再写出。    4保存对象    当我们想保存一个对象时,我们只需要简单的调用db4o的Set()方法,并传进要保存的对象作为参数即可。比如向db4o数据库存进一个姓名为“Liming”,学分是86的学生对象。代码如下:  Studentstu=neing",86);  db.Set(stu);  Console.ing”,学分值是80的学生对象:  Studentstu=neing",80);  ObjectSetresult=db.Get

7、(stu);  foreach(objectiteminresult)  {Console.WriteLine("Student{0}",stu.Tostring());}  通过上面的例子我们不丢脸出,使用QBE方式进行查询存在着如下几个局限点:  1)db4o需要反射你提供模板对象的所有成员数据;  2)不能使用高级查询表达式,如AND、OR、NOT等;  3)对于数据不能使用强制条件,如int的0,string的空字串或空引用类型,由于它们在查询时都解释为非强制关系;  需要为类提供非初始化成员数据的构造函数,这意味着在定义数据成员时不

8、能对其进行初始化。  所以,我们推荐的是另一种查询方式NQ。  5.2NQ查询  使用NQ为你的查询提供了开发语言内置的支持能力,提供类型平安机制、编译时检查及反射

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。