DB4O?
新出的OODBMS~取谐音DB for O 。一个优秀的OODBMS解决方案,它出现的定位就是为了开发嵌入式和小型应用,同HSQLDB的定位相仿。不过DB4O的的优点则是,本身是OODBMS,那么对它的操作自然就是基于OO的,同Hiberante一样,但是Hiberante是ORM解决方案,而DB4O则是原生OODBMS方案。看看下面的例子
一个同Hibernate相同的POJO,没有任何方法,也没有跟DB4O有任何耦合。
1
package name.lgn.db4o.test.model;
2
3
public class Person
{
4
5
private String firstName;
6
7
private String lastName;
8
9
private int age;
10
11
public Person(String firstName, String lastName, int age)
{
12
this.firstName = firstName;
13
this.lastName = lastName;
14
this.age = age;
15
}
16
17
public String getFirstName()
{
18
return firstName;
19
}
20
21
public void setFirstName(String value)
{
22
firstName = value;
23
}
24
25
public String getLastName()
{
26
return lastName;
27
}
28
29
public void setLastName(String value)
{
30
lastName = value;
31
}
32
33
public int getAge()
{
34
return age;
35
}
36
37
public void setAge(int value)
{
38
age = value;
39
}
40
41
}
42
在看,DB4O的解决方案:
1
package name.lgn.db4o.test;
2
3
import name.lgn.db4o.test.model.Person;
4
5
import org.junit.Test;
6
7
import com.db4o.Db4o;
8
import com.db4o.ObjectContainer;
9
import com.db4o.ObjectSet;
10
11
public class TestDB4O
{
12
13
@Test
14
public void testDB()
{
15
ObjectContainer db = null;
16
try
{
17
db = Db4o.openFile("persons.data");
18
19
Person brian = new Person("Brian", "Goetz", 39);
20
Person jason = new Person("Jason", "Hunter", 35);
21
Person clinton = new Person("Brian", "Sletten", 38);
22
Person david = new Person("David", "Geary", 55);
23
Person glenn = new Person("Glenn", "Vanderberg", 40);
24
Person neal = new Person("Neal", "Ford", 39);
25
26
db.set(brian);
27
db.set(jason);
28
db.set(clinton);
29
db.set(david);
30
db.set(glenn);
31
db.set(neal);
32
33
db.commit();
34
35
// Find all the Brians
36
ObjectSet brians = db.get(new Person("Brian", null, 0));
37
while (brians.hasNext())
38
System.out.println(brians.next());
39
40
} catch (Exception e)
{
41
e.printStackTrace();
42
} finally
{
43
if (db != null)
44
db.close();
45
}
46
47
}
48
}
49
存入数据用db.set(...);取出数据用db.get(...),是不是非常亲切和简单?
对于不需要使用大型DB,但又需要存储数据的时候不需要再用hibernate+hsqldb了,只需要使用DB4O,就全带了,又有简单的数据库操作,又有数据的存储,还有数据完整性的保证,简单方便,何乐不为呢?RCP开源项目著名的RSSOWL在2.0中也已经把原有的hiberante+hsqldb替换为DB4O的解决方案了。
虽然OODBMS的路还有很长,而且就现在看,和RDBMS还有很长的距离,但是从DB4O上,我们还是看到了希望。在DB4O的眼中Hibernate,jdo等等都是暂时的解决方案,对于OODBMS来说ORM本来就是不存在的东西,ORM仅仅是为了解决RDBMS到OO的映射,而OODBMS本来就是原生的,免去了中间层,免去了烦恼。
下载 db4o:这是一种用于 Java 的开源对象数据库。
分享到:
相关推荐
"db4o 使用指南" db4o 是一个开源的面向对象数据库,能够轻松地将 Java 对象持久化到数据库中。本文将详细介绍 db4o 的安装、启动、查询方式、对象持久化、数据库文件结构、主要包结构等知识点。 一、db4o 安装和...
Db4o,全称为“Database for Objects”,是一个开源的对象数据库管理系统,主要应用于Java和.NET平台。这个项目专注于提供一种简单的方式来存储和检索Java对象,无需SQL或其他中间映射层。在“Db4o的简单操作项目”...
**db4o(Database for Objects)** 是一个开源的对象数据库管理系统(Object-Relational Mapping,ORM),它允许开发者直接在Java或.NET平台上存储和检索Java对象或.NET对象,无需进行SQL查询或者映射过程。db4o的...
**知识点生成:DB4O 说明文档** **一、DB4O:面向对象数据库系统** DB4O(db4objects)是一种开源的面向对象数据库管理系统(Object Database Management System,简称ODBMS),支持Java和.NET平台。它专为移动...
**db4o 8.0 详解及中文指南** db4o(Database for Objects)是一款开源的对象数据库系统,它允许开发者直接将Java或.NET对象存储到数据库中,无需进行ORM(对象关系映射)。db4o的目标是简化数据管理,提供更接近...
### db4o-7.12 教程详解 #### 一、db4o简介与安装 db4o是一款开源的对象数据库系统,支持Java、.NET 和 Mono等平台。本教程旨在帮助用户快速掌握db4o的基本用法,并提供丰富的资源以支持开发者深入学习。 在开始...
**db4o 开发指南与实例详解** **一、db4o 简介** db4o(Database for Objects)是一款开源的对象关系数据库管理系统(Object-Relational Mapping, ORM),它允许开发者直接将Java对象存储到数据库中,无需编写SQL...
**db4o .net3.5** db4o(Database for Objects)是一个开源的对象数据库系统,专注于在.NET Framework 3.5环境下存储和检索对象。它允许开发者直接使用.NET类作为数据库模型,无需进行传统的映射过程,极大地简化了...
**对象数据库db4o详解** 对象数据库是一种新型的数据库管理系统,与传统的关系型数据库不同,它直接存储和管理对象,而不是将对象转换为表格形式的数据。db4o(database for objects)是对象数据库的一种,它提供了...
Db4o,全称为“Database for Objects”,是一个开源的对象数据库系统,专为.NET和Java平台设计。它允许开发者直接在对象上进行数据操作,而无需传统的ORM(对象关系映射)层,简化了数据存储和检索的过程。这个...
DB4O,全称为“Database for Objects”,是一个开源的对象数据库管理系统(ODBMS),它允许开发者直接将Java或.NET对象持久化到磁盘上,而无需使用传统的关系型数据库中的SQL语句。DB4O提供了简单、高效且灵活的数据...
《db4o 权威指南》是一本深入探讨db4o这一开源面向对象数据库系统的专业书籍,对于Java开发者来说尤其有价值。db4o是Database for Objects的缩写,它允许开发者以自然、直观的方式存储和检索Java对象,无需编写SQL...
【db4o中文指南】 db4o是一个专为Java和.NET开发者设计的开源、轻量级的纯面向对象数据库引擎,提供了一种简单易用的方式来实现对象持久化。这款数据库引擎已被验证具备优秀的性能,根据描述中的基准测试,db4o在与...
Db4o(全称“Database for Objects”)是一款开源的对象数据库管理系统(ODBMS),它专为.NET Framework设计,提供了一种直接在对象模型上进行数据存储和检索的方式。这款类库允许开发者将普通的.NET对象持久化到...
DB4o(Database for Objects)是一款开源的对象数据库系统,它允许开发者将Java或.NET平台上的对象直接存储到数据库中,而无需进行SQL映射。在本文中,我们将深入探讨如何利用DB4o将一个对象保存到文件中,然后进行...
标题:db4o-5.0-tutorial-java帮助 描述:这份资料是关于db4o数据库的使用教程,特别针对Java开发人员。db4o是一款开源的对象数据库,支持Java、.NET以及Mono平台。该教程旨在帮助用户快速上手db4o,并在开发过程中...
Java数据库db4o,全称为“Database for Objects”,是一款开源的对象数据库系统,专门设计用于Java和.NET平台。它提供了一种直接在对象模型上进行数据操作的方式,无需传统的ORM(对象关系映射)层,简化了开发过程...
DB4o(Database for Objects)是一款开源的对象数据库系统,它允许开发者直接将对象持久化到数据库中,无需进行额外的映射或者数据访问层(DAL)的开发。这个数据库系统设计的目标是简化对象关系映射(ORM)的过程,...
【db4o6.4-java】是一个针对Java平台的数据库引擎开发包,它包含了db4o的源代码、测试代码以及其他相关资源。db4o全称为"Database for Objects",是一个开源的对象数据库管理系统(ODBMS),它允许开发者直接在Java...