惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
爱范儿
爱范儿
Martin Fowler
Martin Fowler
T
The Blog of Author Tim Ferriss
B
Blog RSS Feed
博客园 - 聂微东
G
GRAHAM CLULEY
Engineering at Meta
Engineering at Meta
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
WordPress大学
WordPress大学
Scott Helme
Scott Helme
AI
AI
S
Security Affairs
T
Threat Research - Cisco Blogs
M
MIT News - Artificial intelligence
T
Troy Hunt's Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
人人都是产品经理
人人都是产品经理
AWS News Blog
AWS News Blog
T
Threatpost
Cyberwarzone
Cyberwarzone
www.infosecurity-magazine.com
www.infosecurity-magazine.com
U
Unit 42
V
Vulnerabilities – Threatpost
J
Java Code Geeks
博客园 - Franky
月光博客
月光博客
Blog — PlanetScale
Blog — PlanetScale
NISL@THU
NISL@THU
D
Docker
小众软件
小众软件
N
News and Events Feed by Topic
Microsoft Security Blog
Microsoft Security Blog
Y
Y Combinator Blog
A
Arctic Wolf
D
DataBreaches.Net
云风的 BLOG
云风的 BLOG
Forbes - Security
Forbes - Security
量子位
PCI Perspectives
PCI Perspectives
美团技术团队
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
I
InfoQ
Security Archives - TechRepublic
Security Archives - TechRepublic
有赞技术团队
有赞技术团队
腾讯CDC
P
Proofpoint News Feed
S
Security @ Cisco Blogs
G
Google Developers Blog
C
Cisco Blogs

博客园 - 东成西就

重灾面前,我们有力量面对一切困难! 试一下 使用CAB中EventBroker碰到困难,暂记于此! 在.NET中动态编译与执行脚本文件 db4o学习笔记(五)、处理结构化对象上 db4o学习笔记(四)、db4o查询详解续 db4o学习笔记(三)、db4o查询详解 db4o学习笔记(二)、第一次亲密接触 LightweightCTI架构设计(5) LightweightCTI架构设计(4) LightweightCTI架构设计(3) LightweightCTI架构设计(2) LightweightCTI架构设计(1) LightweightCTI开发实录(5)板卡适配器概述 LightweightCTI开发实录(4)系统如何工作 LightweightCTI开发实录(3)分析之前 系分考试准备的论文(6):论系统设计中对用户需求的把握 LightweightCTI开发实录(2)项目计划 LightweightCTI开发实录(1) 缘由
db4o学习笔记(一)、db4o概览
东成西就 · 2006-11-10 · via 博客园 - 东成西就

db4o是一种java、.net及Mono原生的面向对象的开源的数据库引擎,使用db4o十分的简单你只需要在你的项目中加入db4o.dll的引用即可,db4o也是一种轻量级的数据库引擎要运行db4o你只需要上述dll文件就可以了。为什么要使用db4o,其实只需要看一下它的客户资料列表就清楚了,目前一些世界级的领导厂商如 BMW, Boeing, Bosch, Hertz, IBM, Intel, Ricoh, and Seagate都是它的客户,面对这样一串列表我们没有理由不选择它了Stick out tongue

  在进行深入学习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原生查询接口是数据库引擎主要的和我们首先查询接口。