上学的时候就听老师说过有对象数据库。
但是我所接触的数据库都是关系型数据库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 ther = (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 try11 {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 finally20 {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 Brians28 ObjectSet brians = db.get(new Person("Brian", null, 0));29 while (brians.hasNext())30 System.out.println(brians.next());31 }32 finally33 {34 if (db != null)35 db.close();36 }37 }38 }39
详细介绍请参看ibm的学习文档。
http://www.ibm.com/developerworks/cn/java/jdb4o/?ca=j-h
也有善意的提醒:何不去远方!昆明呀——赶一个花海;