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

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - 东成西就

重灾面前,我们有力量面对一切困难! 试一下 使用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原生查询接口是数据库引擎主要的和我们首先查询接口。