<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    大夢(mèng)想家

    5年開(kāi)發(fā)工程師,2年實(shí)施經(jīng)理,X年售前顧問(wèn),......
    數(shù)據(jù)加載中……
    初識(shí)DB4O
        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方案。看看下面的例子

    一個(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ù)。

    客戶(hù)虐我千百遍,我待客戶(hù)如初戀!

    posted on 2007-06-10 11:15 阿南 閱讀(1827) 評(píng)論(11)  編輯  收藏 所屬分類(lèi): DB4O

    評(píng)論

    # re: 初識(shí)DB4O 2007-06-10 11:42 itkui

    不錯(cuò),現(xiàn)在輕量級(jí)框架越來(lái)越火了。

    # re: 初識(shí)DB4O 2007-06-10 16:42 Pande

    db4o是不錯(cuò),可惜他的License不夠友好

    # re: 初識(shí)DB4O 2007-06-10 17:18 阿南

    確實(shí)限制不少,是一家開(kāi)源的公司做的~畢竟人家也是要吃飯的啊~

    # re: 初識(shí)DB4O 2007-07-25 16:11 kujioon

    不錯(cuò),但是它是數(shù)據(jù)是存儲(chǔ)在哪兒呢?

    # re: 初識(shí)DB4O 2007-07-25 16:12 kujioon

    persons.data這是一個(gè)文件,這個(gè)名字有什么約定嗎,文件存儲(chǔ)在哪兒?

    # re: 初識(shí)DB4O 2007-07-25 19:44 阿南

    存在本地,其實(shí)就是本地一份文件!文件名沒(méi)有什么限制

    # re: 初識(shí)DB4O 2011-01-08 08:38 replica watch

    存在本地,其實(shí)就是本地一份文件!文件名沒(méi)有什么限制

    # shox nz 2011-06-09 17:21 shox nz

    that's good,

    # Christian Louboutin Platform[未登錄](méi) 2011-09-02 13:45 yoyo

    it is a interesting one.

    # Christian Louboutin Platform[未登錄](méi) 2011-09-02 13:46 yoyo

    why is so?

    # re: 初識(shí)DB4O 2013-01-18 11:13 replica montblanc watches

    存在本地,其實(shí)就是本地一份文件!文件名沒(méi)有什么限制

    只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 国产精品内射视频免费| 国产亚洲精品激情都市| 日韩免费在线视频| 看免费毛片天天看| 中文字幕在线观看亚洲视频| 好看的电影网站亚洲一区| 国产成人精品免费视频大全五级| 18禁无遮挡无码国产免费网站| fc2免费人成为视频| 亚洲a无码综合a国产av中文| 亚洲av产在线精品亚洲第一站| 久热综合在线亚洲精品| 精品国产亚洲一区二区在线观看| 性感美女视频免费网站午夜 | 成人免费777777| 亚欧在线精品免费观看一区| 大地资源中文在线观看免费版| 四虎永久在线精品免费一区二区 | 免费无码AV电影在线观看| a在线观看免费视频| 国产精品内射视频免费| 另类小说亚洲色图| 亚洲国产成人综合精品| 亚洲成AⅤ人影院在线观看| 色播在线永久免费视频| 桃子视频在线观看高清免费完整| 99视频在线免费| 久艹视频在线免费观看| 国产免费拔擦拔擦8X高清在线人| 国产福利免费视频| yellow视频免费看| igao激情在线视频免费| 成在人线av无码免费高潮水| 国产黄色片免费看| 最近免费中文字幕中文高清| 91视频免费观看| 暖暖在线视频免费视频| 99精品热线在线观看免费视频| 91精品国产免费网站| 18未年禁止免费观看| 100000免费啪啪18免进|