`
soleegn
  • 浏览: 145782 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论
阅读更多
    DB4O?
    新出的OODBMS~取谐音DB for O 。一个优秀的OODBMS解决方案,它出现的定位就是为了开发嵌入式和小型应用,同HSQLDB的定位相仿。不过DB4O的的优点则是,本身是OODBMS,那么对它的操作自然就是基于OO的,同Hiberante一样,但是Hiberante是ORM解决方案,而DB4O则是原生OODBMS方案。看看下面的例子

一个同Hibernate相同的POJO,没有任何方法,也没有跟DB4O有任何耦合。
 1package name.lgn.db4o.test.model;
 2
 3public 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的解决方案:
 1package name.lgn.db4o.test;
 2
 3import name.lgn.db4o.test.model.Person;
 4
 5import org.junit.Test;
 6
 7import com.db4o.Db4o;
 8import com.db4o.ObjectContainer;
 9import com.db4o.ObjectSet;
10
11public 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"null0));
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 使用指南" db4o 是一个开源的面向对象数据库,能够轻松地将 Java 对象持久化到数据库中。本文将详细介绍 db4o 的安装、启动、查询方式、对象持久化、数据库文件结构、主要包结构等知识点。 一、db4o 安装和...

    Db4o的简单操作项目

    Db4o,全称为“Database for Objects”,是一个开源的对象数据库管理系统,主要应用于Java和.NET平台。这个项目专注于提供一种简单的方式来存储和检索Java对象,无需SQL或其他中间映射层。在“Db4o的简单操作项目”...

    对象数据库db4o对象数据库db4o

    **对象数据库db4o详解** 对象数据库是一种新型的数据库管理系统,与传统的关系型数据库不同,它直接存储和管理对象,而不是将对象转换为表格形式的数据。db4o(database for objects)是对象数据库的一种,它提供了...

    db4o8.0以及db4o中文指南

    **db4o 8.0 详解及中文指南** db4o(Database for Objects)是一款开源的对象数据库系统,它允许开发者直接将Java或.NET对象存储到数据库中,无需进行ORM(对象关系映射)。db4o的目标是简化数据管理,提供更接近...

    db4o-8.0-java

    **db4o(Database for Objects)** 是一个开源的对象数据库管理系统(Object-Relational Mapping,ORM),它允许开发者直接在Java或.NET平台上存储和检索Java对象或.NET对象,无需进行SQL查询或者映射过程。db4o的...

    db4o-7.12-tutorial

    ### db4o-7.12 教程详解 #### 一、db4o简介与安装 db4o是一款开源的对象数据库系统,支持Java、.NET 和 Mono等平台。本教程旨在帮助用户快速掌握db4o的基本用法,并提供丰富的资源以支持开发者深入学习。 在开始...

    db4o开发指南和各种实例

    **db4o 开发指南与实例详解** **一、db4o 简介** db4o(Database for Objects)是一款开源的对象关系数据库管理系统(Object-Relational Mapping, ORM),它允许开发者直接将Java对象存储到数据库中,无需编写SQL...

    db4o .net3.5

    **db4o .net3.5** db4o(Database for Objects)是一个开源的对象数据库系统,专注于在.NET Framework 3.5环境下存储和检索对象。它允许开发者直接使用.NET类作为数据库模型,无需进行传统的映射过程,极大地简化了...

    非常好的Db4o资料,适合想研究Db4o的同学

    Db4o,全称为“Database for Objects”,是一个开源的对象数据库系统,专为.NET和Java平台设计。它允许开发者直接在对象上进行数据操作,而无需传统的ORM(对象关系映射)层,简化了数据存储和检索的过程。这个...

    DB4O笔记+常用JAR包

    DB4O,全称为“Database for Objects”,是一个开源的对象数据库管理系统(ODBMS),它允许开发者直接将Java或.NET对象持久化到磁盘上,而无需使用传统的关系型数据库中的SQL语句。DB4O提供了简单、高效且灵活的数据...

    db4o 权威指南

    《db4o 权威指南》是一本深入探讨db4o这一开源面向对象数据库系统的专业书籍,对于Java开发者来说尤其有价值。db4o是Database for Objects的缩写,它允许开发者以自然、直观的方式存储和检索Java对象,无需编写SQL...

    db4o for java

    **db4o (Database for Objects) 是一个开源的、基于Java和.NET的面向对象数据库系统。它允许开发者直接在数据库中存储和检索Java或.NET对象,而无需传统的SQL查询语言,极大地简化了数据管理和持久化的流程。** 在...

    DB4O管理工具

    DB4O(Database for Objects)是一款开源的对象数据库管理系统(Object-Relational Mapping,ORM),它允许开发者将Java或.NET对象直接存储到磁盘上,无需转换为传统的表和列的结构。DB4O的设计理念是简化数据存储,...

    Db4o (net)类库

    Db4o(全称“Database for Objects”)是一款开源的对象数据库管理系统(ODBMS),它专为.NET Framework设计,提供了一种直接在对象模型上进行数据存储和检索的方式。这款类库允许开发者将普通的.NET对象持久化到...

    DB4o 将一个对象保存到文件中,然后查询读取

    DB4o(Database for Objects)是一款开源的对象数据库系统,它允许开发者将Java或.NET平台上的对象直接存储到数据库中,而无需进行SQL映射。在本文中,我们将深入探讨如何利用DB4o将一个对象保存到文件中,然后进行...

    DB4O Java开发应用

    DB4O,全称为“Database for Objects”,是一个开源的对象数据库管理系统,专为Java和.NET平台设计。它允许开发者直接在数据库中存储、检索、更新和删除Java对象,无需中间的ORM(对象关系映射)层。这篇文档是DB4O ...

    db4o-5.0-tutorial-java帮助

    标题:db4o-5.0-tutorial-java帮助 描述:这份资料是关于db4o数据库的使用教程,特别针对Java开发人员。db4o是一款开源的对象数据库,支持Java、.NET以及Mono平台。该教程旨在帮助用户快速上手db4o,并在开发过程中...

    java数据库(db4o)

    Java数据库db4o,全称为“Database for Objects”,是一款开源的对象数据库系统,专门设计用于Java和.NET平台。它提供了一种直接在对象模型上进行数据操作的方式,无需传统的ORM(对象关系映射)层,简化了开发过程...

Global site tag (gtag.js) - Google Analytics