soleegn 发表于 2013-1-14 23:48:59

初识DB4O

DB4O?
    新出的OODBMS~取谐音DB for O 。一个优秀的OODBMS解决方案,它出现的定位就是为了开发嵌入式和小型应用,同HSQLDB的定位相仿。不过DB4O的的优点则是,本身是OODBMS,那么对它的操作自然就是基于OO的,同Hiberante一样,但是Hiberante是ORM解决方案,而DB4O则是原生OODBMS方案。看看下面的例子

一个同Hibernate相同的POJO,没有任何方法,也没有跟DB4O有任何耦合。
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee;"> 1http://www.blogjava.net/Images/OutliningIndicators/None.gifpackage name.lgn.db4o.test.model;
 2http://www.blogjava.net/Images/OutliningIndicators/None.gif
 3http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockStart.gifhttp://www.blogjava.net/Images/OutliningIndicators/ContractedBlock.gifpublic class Person http://www.blogjava.net/Images/dot.gif{
 4http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif
 5http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif    private String firstName;
 6http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif
 7http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif    private String lastName;
 8http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif
 9http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif    private int age;
10http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif
11http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif    public Person(String firstName, String lastName, int age) http://www.blogjava.net/Images/dot.gif{
12http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif        this.firstName = firstName;
13http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif        this.lastName = lastName;
14http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif        this.age = age;
15http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif    }
16http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif
17http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif    public String getFirstName() http://www.blogjava.net/Images/dot.gif{
18http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif        return firstName;
19http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif    }
20http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif
21http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif    public void setFirstName(String value) http://www.blogjava.net/Images/dot.gif{
22http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif        firstName = value;
23http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif    }
24http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif
25http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif    public String getLastName() http://www.blogjava.net/Images/dot.gif{
26http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif        return lastName;
27http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif    }
28http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif
29http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif    public void setLastName(String value) http://www.blogjava.net/Images/dot.gif{
30http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif        lastName = value;
31http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif    }
32http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif
33http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif    public int getAge() http://www.blogjava.net/Images/dot.gif{
34http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif        return age;
35http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif    }
36http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif
37http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockStart.gifhttp://www.blogjava.net/Images/OutliningIndicators/ContractedSubBlock.gif    public void setAge(int value) http://www.blogjava.net/Images/dot.gif{
38http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif        age = value;
39http://www.blogjava.net/Images/OutliningIndicators/ExpandedSubBlockEnd.gif    }
40http://www.blogjava.net/Images/OutliningIndicators/InBlock.gif
41http://www.blogjava.net/Images/OutliningIndicators/ExpandedBlockEnd.gif}
42http://www.blogjava.net/Images/OutliningIndicators/None.gif
页: [1]
查看完整版本: 初识DB4O