当你想要快速的开发系统原型,用于演示功能、探索需求、消除风险时,用db4o吧;
当你的程序的数据量不算特别大,而又想最快的提高开发速度时,用db4o吧;
当你不想在程序的可配置信息的存储、解析上花费时间时,用db4o吧;
当你不懂sql也不想学sql时,用db4o吧。
Db4o是对象数据库,有java和.net两个分支。这里没有sql,没有表,一切都是原生对象。官方网站对Db4o的描述是:
•完全原生于Java和.NET
•100% 面向对象, 抛开对象-关系映射
•为嵌入式应用优化
•开源,可以基于GPL协议免费使用
Db4o的使用十分简单,以本地数据库为例子:
(1)打开数据库
IObjectContainer ObjectContainer = Db4oFactory.OpenFile("data.yap");
这句话打开本地数据库data.yap,如果该文件不在,则自动创建数据库文件。
(2)关闭数据库
ObjectContainer.Close();
(3)查询对象
IList<YourClass> rlist = ObjectContainer.Query< YourClass >();
这句话查询数据库中全部的YourClass对象。
Db4o提供了多种对象查询方式,详情可见官方文档。
(4)Activate对象
默认从数据库提取的对象只有一定的深度,更深的被引用的对象为null,为了提取更深的对象,需要Activate已提取的对象:
ObjectContainer.Activate(YourObject, depth)
(4)储存/更新对象
ObjectContainer.Store(YourObject)
如果YourObject不是从数据库中通过查询获得的实例,则将YourObject及它所持有的对象,及持有的持有的……所有可达对象全部储存入数据库。
如果 YourObject是从数据库通过查询获得的实例,则更新YourObject的属性。默认不进行级联更新,你也可以设置级联更新,如:
Db4objects.Db4o.Db4oFactory.Configure().ObjectClass(typeof(YourClass)).CascadeOnUpdate(true);
(5)删除对象
ObjectContainer.Delete(YourObject)
以上是最基本的操作,很快很敏捷。更多的操作可见官方文档。
我现在用最懒惰的方法在用db4o:设置一个Root Object,其它Objects都挂接在Root Object之下,程序启动时就从数据库中把第一个Root实例提取出来,把要用的对象都Activate出来,数据变动时就Store(ObjectChanged)一下子。
Db4o官方网站:http://www.db4o.com/
面向 Java 开发人员的 db4o 指南: http://www.ibm.com/developerworks/cn/java/jdb4o/
JackyXu 的博客有数篇关于db4o的笔记:http://www.cnblogs.com/JackyXu/
db4o 中的数据库重构: http://www.ibm.com/developerworks/cn/java/j-db4o3.html
本文来自:http://www.cnblogs.com/xiaotie/archive/2008/10/17/1313218.html
分享到:
相关推荐
"db4o 使用指南" db4o 是一个开源的面向对象数据库,能够轻松地将 Java 对象持久化到数据库中。本文将详细介绍 db4o 的安装、启动、查询方式、对象持久化、数据库文件结构、主要包结构等知识点。 一、db4o 安装和...
Db4o,全称为“Database for Objects”,是一个开源...尽管Db4o已经停止了官方支持,但它的设计理念和模式对于理解对象数据库的概念仍然很有价值,特别是对于那些希望避开传统关系型数据库复杂性的小型项目或原型开发。
**db4o 开发指南与实例详解** **一、db4o 简介** db4o(Database for Objects)是一款开源的对象关系数据库管理系统(Object-Relational Mapping, ORM),它允许开发者直接将Java对象存储到数据库中,无需编写SQL...
这篇文档是DB4O Java开发应用的起步篇,主要介绍了如何开始使用DB4O进行开发。 1. 起步: - 下载后的目录结构:当你下载DB4O后,会包含一系列的JAR文件和相关的文档。这些JAR文件包含了DB4O引擎的所有类库,需要将...
db4o的目标是简化数据管理,提供更接近自然编程的方式,使开发过程更加高效。在db4o 8.0版本中,引入了多项增强功能和改进,以提升性能和用户体验。 ### 一、对象数据库基础 对象数据库与传统的关系型数据库不同,...
**eclipse下的对象查看插件** 提供了在Eclipse集成开发环境中查看和管理db4o数据库内容的便利。这个插件可以让开发者直接在IDE内浏览和操作数据库对象,提升开发效率。 **全部说明文档** 是学习和使用db4o的关键...
**db4o(Database for Objects)**是一款开源的对象数据库,专为Java开发人员设计,它允许开发者直接在数据库中存储和检索Java对象,无需进行传统的SQL映射。本指南的第三部分将深入探讨如何在db4o中进行数据库重构...
### db4o-7.12 教程详解 #### 一、db4o简介与安装 db4o是一款开源的对象数据库系统,支持Java、.NET 和 Mono等平台。本教程旨在帮助用户快速掌握db4o的基本用法,并提供丰富的资源以支持开发者深入学习。 在开始...
作为一个开源项目,db4o拥有活跃的开发社区,提供了广泛的文档、示例和讨论论坛,帮助开发者解决问题并不断改进产品。 总的来说,db4o .net3.5是一个强大的工具,为.NET开发者提供了对象持久化的简便方法,通过上述...
DB4O的设计理念是简化数据存储,提高开发效率,尤其适合于对象模型复杂或者需要高效存取的应用场景。 标题“DB4O管理工具”指的是一个专门用于管理和操作DB4O数据库的工具。这个工具提供了查看和删除数据库内数据的...
**对象数据库db4o详解** ...通过`DrawTools2005`这样的示例程序,开发者可以深入理解如何将db4o集成到实际项目中,提升开发效率。无论是学习还是实际开发,db4o都是一个值得探索的对象数据库解决方案。
在面向对象数据库领域,db4o的独特之处在于它的透明性。这意味着开发者可以直接操作对象,db4o会自动处理对象的序列化、存储和检索。书中会详细讲解这一特性,帮助读者理解如何充分利用这一优势来提高开发效率。 ...
**db4o (Database for Objects) 是一个开源的、基于Java和.NET的面向对象数据库系统。它允许开发者直接在数据库中存储和检索Java或.NET对象,而无需传统的SQL查询语言,极大地简化了数据管理和持久化的流程。** 在...
【db4o中文指南】 db4o是一个专为Java和.NET开发者设计的开源、轻量级的纯面向对象数据库引擎,提供了一种简单...通过深入理解和熟练使用db4o,开发者可以创建出更符合对象思维的数据库应用,提升开发效率和系统性能。
【db4o6.4-java】是一个针对Java平台的数据库引擎开发包,它包含了db4o的源代码、测试代码以及其他相关资源。db4o全称为"Database for Objects",是一个开源的对象数据库管理系统(ODBMS),它允许开发者直接在Java...
DB4O,全称为“Database for Objects”,是一个开源的对象数据库管理系统(ODBMS),它允许开发者直接将Java或.NET对象持久化到磁盘上,而无需使用传统的关系型数据库中的SQL语句。DB4O提供了简单、高效且灵活的数据...
2. **透明性**:Db4o的设计目标之一是尽可能减少数据库操作对代码的影响。开发者可以像操作普通对象一样操作持久化的对象,无需额外的API调用或SQL语句。 3. **查询API**:Db4o提供了强大的查询机制,包括激活查询...
在实际使用中,开发者可以结合db4o提供的API和JDBC驱动进行开发。对于Java开发者而言,db4o的集成非常简单,只需要添加相应的jar文件到类路径,并通过几行代码即可开启数据库服务。在处理复杂的数据结构和对象关系时...
在.NET环境中,db4o为开发人员提供了简单、高效的数据库解决方案,特别适合于快速构建小型桌面应用程序。这款数据库引擎的核心优势在于它的对象持久化能力,使得数据操作更接近于面向对象编程的思维方式。 标题中的...