国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
初識(shí)DB4O - 實(shí)踐-全程 - BlogJava


    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有任何耦合。
 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"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ù)。


本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
JAVA對(duì)象比較器Comparator
關(guān)于Java中static關(guān)鍵字的用法以及從內(nèi)存角度解析
怎樣對(duì)帶有不可序列化屬性的Java對(duì)象進(jìn)行序列化
您不知道的 5 件事……: Java Collections API,第 2 部分
JPA的Embeddable Objects - LalfaShi‘Blog
PropertyGrid Refresh problem...
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服