WEB开发网
开发学院软件开发Java 面向 Java 开发人员的 db4o 指南: 查询,更新和一... 阅读

面向 Java 开发人员的 db4o 指南: 查询,更新和一致性

 2010-04-01 00:00:00 来源:WEB开发网   
核心提示: 与 POJO 类似,Person 并不是一个复杂的类,面向 Java 开发人员的 db4o 指南: 查询,更新和一致性(3),它由三个字段和一些基本的支持类似 POJO 行为的方法组成,即 toString() 和 equals(),然后使用 QBE 调用名字匹配 “Brian&rd

与 POJO 类似,Person 并不是一个复杂的类。它由三个字段和一些基本的支持类似 POJO 行为的方法组成,即 toString() 和 equals()。(阅读过 Joshua Bloch 的 Effective Java 的读者将注意到我忽略了 hashCode() 实现,很明显这违背了 Rule 8。作者经常使用的典型说法就是,我将 hashCode() 留给 “读者进行练习”,这通常意味着作者不想解释或认为没有必要提供手头的示例。我同样将它留给读者作为练习,请自行判断我们这里的练习属于哪种情况。

在清单 2 中,我创建了 6 个对象,将它们放入了一个文件中,然后使用 QBE 调用名字匹配 “Brian” 模式的两个对象。这种查询使用原型对象(被传入到 get() 调用的对象)来确定对象是否匹配数据库查询,并返回匹配条件的对象的 ObjectSet(实际上是一个集合)。

清单 2. Query by Example

        import com.db4o.*; 
 
import com.tedneward.model.*; 
 
public class Hellodb4o 
{ 
  public static void main(String[] args) 
    throws Exception 
  { 
    ObjectContainer db = null; 
    try 
    { 
      db = Db4o.openFile("persons.data"); 
 
      Person brian = new Person("Brian", "Goetz", 39); 
      Person jason = new Person("Jason", "Hunter", 35); 
      Person clinton = new Person("Brian", "Sletten", 38); 
      Person david = new Person("David", "Geary", 55); 
      Person glenn = new Person("Glenn", "Vanderberg", 40); 
      Person neal = new Person("Neal", "Ford", 39); 
       
      db.set(brian); 
      db.set(jason); 
      db.set(clinton); 
      db.set(david); 
      db.set(glenn); 
      db.set(neal); 
 
      db.commit(); 
       
      // Find all the Brians 
      ObjectSet brians = db.get(new Person("Brian", null, 0)); 
      while (brians.hasNext()) 
        System.out.println(brians.next()); 
    } 
    finally 
    { 
      if (db != null) 
        db.close(); 
    } 
  } 
} 

上一页  1 2 3 4 5 6 7 8  下一页

Tags:面向 Java 开发

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接