久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    初識DB4O - 實踐-全程 - BlogJava

     chenge 2007-08-04


        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 的開源對象數據庫。


      本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
      轉藏 分享 獻花(0

      0條評論

      發表

      請遵守用戶 評論公約

      類似文章 更多

      主站蜘蛛池模板: 国产成人8X人网站视频| 国产亚洲精品午夜福利| 又爽又黄又无遮挡的激情视频免费 | 少妇被粗大的猛进出69影院| 亚洲色欲色欲WWW成人网| 一区二区福利在线视频| 99视频30精品视频在线观看| 男女无遮挡XX00动态图120秒| 免费AV片在线观看网址| 久久影院午夜伦手机不四虎卡| 好吊视频一区二区三区| 中文字幕亚洲无线码A| 国产V亚洲V天堂A无码| 东京热大乱系列无码| 亚州少妇无套内射激情视频| 亚洲国产在一区二区三区| 亚洲AV无码专区亚洲AV| 天天澡日日澡狠狠欧美老妇| 免费A级毛片免费观看视频| 国产睡熟迷奷系列网站| 亚洲欧美日韩精品久久亚洲区| 国产亚洲精品AA片在线播放天| 99久久免费精品国产72精品九九| 二区三区亚洲精品国产| 中文无码AV一区二区三区| 在线看无码的免费网站| 3D动漫精品啪啪一区二区免费 | 猫咪AV成人永久网站在线观看| 午夜大片免费男女爽爽影院| 性做久久久久久久| 亚洲图片自拍偷图区| 亚洲国产精品无码中文LV| 国产成人综合欧美精品久久| 亚洲精品一区二区妖精| 美女内射视频WWW网站午夜| 国产97视频人人做人人爱| 色窝窝免费播放视频在线| 放荡的美妇在线播放| 性虎精品无码AV导航| 亚洲一区成人av在线| 国产白嫩护士被弄高潮|