小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

初識(shí)DB4O - 實(shí)踐-全程 - BlogJava

 chenge 2007-08-04


    DB4O?
    新出的OODBMS~取諧音DB for O 。一個(gè)優(yōu)秀的OODBMS解決方案,它出現(xiàn)的定位就是為了開(kāi)發(fā)嵌入式和小型應(yīng)用,同HSQLDB的定位相仿。不過(guò)DB4O的的優(yōu)點(diǎn)則是,本身是 OODBMS,那么對(duì)它的操作自然就是基于OO的,同Hiberante一樣,但是Hiberante是ORM解決方案,而DB4O則是原生OODBMS 方案??纯聪旅娴睦?br>
一個(gè)同Hibernate相同的POJO,沒(méi)有任何方法,也沒(méi)有跟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
存入數(shù)據(jù)用db.set(...);取出數(shù)據(jù)用db.get(...),是不是非常親切和簡(jiǎn)單?
    對(duì)于不需要使用大型DB,但又需要存儲(chǔ)數(shù)據(jù)的時(shí)候不需要再用hibernate+hsqldb了,只需要使用DB4O,就全帶了,又有簡(jiǎn)單的數(shù)據(jù)庫(kù)操作, 又有數(shù)據(jù)的存儲(chǔ),還有數(shù)據(jù)完整性的保證,簡(jiǎn)單方便,何樂(lè)不為呢?RCP開(kāi)源項(xiàng)目著名的RSSOWL在2.0中也已經(jīng)把原有的hiberante+ hsqldb替換為DB4O的解決方案了。
    雖然OODBMS的路還有很長(zhǎng),而且就現(xiàn)在看,和RDBMS還有很長(zhǎng)的距離,但是從DB4O上,我們還是看到了希望。在DB4O的眼中 Hibernate,jdo等等都是暫時(shí)的解決方案,對(duì)于OODBMS來(lái)說(shuō)ORM本來(lái)就是不存在的東西,ORM僅僅是為了解決RDBMS到OO的映射,而 OODBMS本來(lái)就是原生的,免去了中間層,免去了煩惱。

下載 db4o:這是一種用于 Java 的開(kāi)源對(duì)象數(shù)據(jù)庫(kù)。


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多