Java的面向对象数据库db4o

Java的面向对象数据库db4o

上学的时候就听老师说过有对象数据库。
但是我所接触的数据库都是关系型数据库mysql,oracle,ms sql server,或是db2.
最近在ibm development work上看到一个名为db4o的对象数据。
才看第一章,学过Java的都应该很容易理解的。
确实它真的很简单。
看起来似乎就像是在一个Java的操作,而并非如我们所以为的那样的想关系型数据库中操作一样。
如果有兴趣的话,大家也可以去看看。
不过,文章作者也对db4o的一些缺点进行了列举。
自己并没有进行很深入的学习。
只是对其感兴趣罢了。
或许对系数据库可能让我们进入一个新的世界。
 1  public   class  Person
 2  {
 3       public  Person()
 4      { }
 5       public  Person(String firstName, String lastName,  int  age)
 6      {
 7           this .firstName  =  firstName;
 8           this .lastName  =  lastName;
 9           this .age  =  age;
10      }
11      
12       public  String getFirstName() {  return  firstName; }
13       public   void  setFirstName(String value) { firstName  =  value; }
14      
15       public  String getLastName() {  return  lastName; }
16       public   void  setLastName(String value) { lastName  =  value; }
17      
18       public   int  getAge() {  return  age; }
19       public   void  setAge( int  value) { age  =  value; }
20 
21       public  String toString()
22      {
23           return  
24               " [Person:  "   +
25               " firstName =  "   +  firstName  +   "   "   +
26               " lastName =  "   +  lastName  +   "   "   +
27               " age =  "   +  age  +  
28               " ] " ;
29      }
30      
31       public   boolean  equals(Object rhs)
32      {
33           if  (rhs  ==   this )
34               return   true ;
35          
36           if  ( ! (rhs  instanceof  Person))
37               return   false ;
38          
39          Person other  =  (Person)rhs;
40           return  ( this .firstName.equals(other.firstName)  &&
41                   this .lastName.equals(other.lastName)  &&
42                   this .age  ==  other.age);
43      }
44      
45       private  String firstName;
46       private  String lastName;
47       private   int  age;
48  }
49 
数据库的insert
 1 
 2  import  com.tedneward.model. * ;
 3 
 4  public   class  Hellodb4o
 5  {
 6       public   static   void  main(String[] args)
 7           throws  Exception
 8      {
 9          ObjectContainer db  =   null ;
10           try
11          {
12              db  =  Db4o.openFile( " persons.data " );
13 
14              Person brian  =   new  Person( " Brian " " Goetz " 39 );
15              
16              db.set(brian);
17              db.commit();
18          }
19           finally
20          {
21               if  (db  !=   null )
22                  db.close();
23          }
24      }
25  }
26 
或是用另外的一种方法进行insert操作。
 1  public   class  Hellodb4o
 2  {
 3       public   static   void  main(String[] args)
 4           throws  Exception
 5      {
 6          ObjectContainer db  =   null ;
 7           try
 8          {
 9              db  =  Db4o.openFile( " persons.data " );
10 
11              Person brian  =   new  Person( " Brian " " Goetz " 39 );
12              Person jason  =   new  Person( " Jason " " Hunter " 35 );
13              Person clinton  =   new  Person( " Brian " " Sletten " 38 );
14              Person david  =   new  Person( " David " " Geary " 55 );
15              Person glenn  =   new  Person( " Glenn " " Vanderberg " 40 );
16              Person neal  =   new  Person( " Neal " " Ford " 39 );
17              
18              db.set(brian);
19              db.set(jason);
20              db.set(clinton);
21              db.set(david);
22              db.set(glenn);
23              db.set(neal);
24 
25              db.commit();
26              
27               //  Find all the Brians
28              ObjectSet brians  =  db.get( new  Person( " Brian " null 0 ));
29               while  (brians.hasNext())
30                  System.out.println(brians.next());
31          }
32           finally
33          {
34               if  (db  !=   null )
35                  db.close();
36          }
37      }
38  }
39 
详细介绍请参看ibm的学习文档。
http://www.ibm.com/developerworks/cn/java/jdb4o/?ca=j-h

你可能感兴趣的:(Java的面向对象数据库db4o)