DBMNG数据库管理与应用

书籍是全世界的营养品。生活里没有书籍,就好像没有阳光;智慧里没有书籍,就好像鸟儿没有翅膀。
当前位置:首页 > 数据库基础 > DB4O

db4o基础与入门

如果你使用的编程语言是java或者.net(笔者最常用的编程语言为C#,所以下文中以C#说事,请读者勿怪),那你有福气了,db4o可以说是一种最自然的数据库,就像使用普通的文件一样方便,你你根本不需要知道数据库是如果来存储数据的,只要用就可以了,真是省心省力。

我先用伪代码给大家演示一下如何来使用db4o:

数据库主要有4种操作,增删改查。

增:
var db = DB.open(filename);
object o = something;
db.store(o);//增
o = some-new-things;
db.store(o);//改
db.delete(o);//删
ocollection=form object item in db
where o.prperity == something
select item;//查
db.close();


上面的一段代码基本都是可以看得明白的,虽然并不是真正的什么代码,但是表达的意思我想大家都是明白的,我在注释里面也一句一句的解释了,db4o的易用性大家应该就了解了,特别是查,大家如果以前用过LINQ的话,那么恭喜你,你完全不用进行其他学习就可以使用db4o了。

现在我们再从头开始,第一步是下载加安装,这个就不用这多说了吧。。。错了,这个还用我多说,因为db4o的官方已经不支持db4o了,所以很不幸福,大家下不到db4o了,不过为了大家能够用上这个东东,我特意好好找了一下自己以前下的,还好,8.0版的.net 4.0和.net3.5的我都下载了,分享给大家

http://pan.baidu.com/s/1dDvjANJ

这个网站没有太大的空间,就上传到百度网盘上了,如果有需要的也可以与我联系。

.NET版的安装后在program files/db4o/db4o 8.0/bin/net-4.0里面有很多的文件,我直接在电脑上用就直接引用了

Db4objects.Db4o.dll
is the standard db4o engine for the .NET framework.



Db4objects.Db4o.Linq.dll当然这个文件是用LINQ查询时用的文件,用C#时非常推荐用LINQ来进行查询,非常给力!!!

db4o的数据库服务器有两种工作模式:C/S模式和嵌入式模式,两种模式的打开方式不同,如下:
IObjectContainer db=Db4o.OpenFile(dbFileName);//C/S模式打开数据库

IObjectContainer db = Db4oEmbedded.OpenFile(dbFileName);//嵌入式模式打开数据库

Db4o和Db4oEmbedded两个类里面都有一些静态函数,这些静态函数是数据库入口文件,当然,我们也可以在数据库打开的时候传入配置参数,对数据库进行配置,这些高级功能在以后的教程里面都会讲到。

好,现在我们就开始来进行数据的存储。一般实际应用情况下,我们会对我们自己编写的类的数据进行存储,为了简单,我们就用.NET Framework里面自己带的一个Point类来作为示例,其他的类没什么太大区别。

string dbFileName = "C:\testFile.db";
Point pt1 = new Point(0,0);
Point pt2 = new Point(1,1);
using(IObjectContainer db = Db4oEmbedded.OpenFile(dbFileName))//嵌入式模式打开数据库
{
db.store(pt1);
db.store(pt2);
db.delete(pt2);
db.close();
}


上面的代码几乎演示了db4o的全部功能。。。不对不对,除了查询之外的全部功能。查询是一个非常简单也非常难的东东,具体的我会在下面的教程里面讲解,如果你以后用过LINQ查询,那么恭喜你,你毕业了。

有没有觉得好用到爆,我就是用了几次db4o之后才被这个对象数据库给迷上的,才开始做对象数据库的推广的。好了,今天就到这里,下次继续讲复杂的查询。

from:http://ood.tson.com/article/11

本站文章内容,部分来自于互联网,若侵犯了您的权益,请致邮件chuanghui423#sohu.com(请将#换为@)联系,我们会尽快核实后删除。
Copyright © 2006-2023 DBMNG.COM All Rights Reserved. Powered by DEVSOARTECH            豫ICP备11002312号-2

豫公网安备 41010502002439号