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

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

 2010-04-01 00:00:00 来源:WEB开发网   
核心提示: 很明显,要对这种方法进行大量的调优以进行尝试,面向 Java 开发人员的 db4o 指南: 查询,更新和一致性(9),例如捕获所有的异常类型并将它们作为运行时异常重新抛出,或者返回 ObjectSet 本身(而非 true/false),注意:使用 db4o SODA 查询 API 对存储在磁盘

很明显,要对这种方法进行大量的调优以进行尝试,例如捕获所有的异常类型并将它们作为运行时异常重新抛出,或者返回 ObjectSet 本身(而非 true/false),甚至返回包含 ObjectSet 内容的数组对象(ObjectSet 的内容使得查看返回数组的长度非常简单)。然而,可以从清单 7 中很明显地看到,这种用法并没有比基本的 QBE 版本简单多少。

清单 7. 可以工作的实用方法

        // Is Brian already in the database? 
if (Util.identitySearch( 
  db, Person.class, {"firstName", "lastName"}, {"Brian", "Goetz"}) == false) 
{ 
  db.set(new Person("Brian", "Goetz", 39)); 
  db.commit(); 
} 

事实上,对于存储的类本身,这种实用方法的实用性 开始变得明显,如清单 8 所示:

清单 8. 在 Person 内使用实用方法

        public class Person 
{ 
  // ... as before 
   
  public static boolean exists(ObjectContainer db, Person instance) 
  { 
    return (Util.identitySearch(db, Person.class, 
      {"firstName", "lastName"}, 
      {instance.getFirstName(), instance.getLastName()}); 
  } 
} 

或者,您可以调整该方法来返回找到的实例,这样 Person 实例使它的 OID 正确地关联,等等。关键要记住可以在 db4o 基础架构之上构建方便的方法,从而使 db4o 更加易于使用。

注意:使用 db4o SODA 查询 API 对存储在磁盘的底层对象执行这类查询是一种更有效的方法,但这稍微超出了本文讨论的范围,所以我将在以后讨论这些内容。

上一页  4 5 6 7 8 9 10  下一页

Tags:面向 Java 开发

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