WEB开发网
开发学院软件开发Java 开源面向对象数据库 db4o 之旅,第 3 部分: 深入d... 阅读

开源面向对象数据库 db4o 之旅,第 3 部分: 深入db4o

 2010-04-01 00:00:00 来源:WEB开发网   
核心提示: 如图 4 所示,所关联的车辆信息已被删除了,开源面向对象数据库 db4o 之旅,第 3 部分: 深入db4o(5),图4. 删除车辆信息查看原图(大图)场景四 在场景三的基础上修改一下,设想“张三”由于工作不顺,极大的降低了开发时间和成本,提供高效的性能,导致最后维护汽车

如图 4 所示,所关联的车辆信息已被删除了。

图4. 删除车辆信息
开源面向对象数据库 db4o 之旅,第 3 部分: 深入db4o

查看原图(大图)

场景四

在场景三的基础上修改一下,设想“张三”由于工作不顺,导致最后维护汽车的开支都困难,他不得不退出有车一族的行列清单5:

清单5. 删除所有信息

package com; 
 
import bo.People; 
 
import com.db4o.Db4o; 
import com.db4o.ObjectContainer; 
import com.db4o.ObjectSet; 
import com.db4o.query.Predicate; 
 
public class DB4OTest{ 
 
 public static void main(String[] args){ 
    //级联设置 
 Db4o.configure().objectClass("bo.People") 
    .cascadeOnDelete(true); 
 //打开数据库 
 ObjectContainer db = Db4o.openFile("auto.yap"); 
 try{ 
  ObjectSet<People> result = db.query(new Predicate<People>() { 
    public boolean match(People people) { 
    //匹配姓名 
      return people.getName().equals("张三"); 
    } 
  }); 
  People people = result.next(); 
  //删除车主以及关联的车辆信息 
  db.delete(people); 
 }finally{ 
  //关闭连接 
  db.close(); 
 } 
 } 
} 

用过 Hibernate 的开发者都知道,它的级联删除让人留下了深刻印象,第一次使用的时候都会为之振奋。db4o 也为开发者提供了级联删除,和场景二的级联更新一样, cascadeOnDelete() 是专门为删除准备的,基本概念和 cascadeOnUpdate() 一致。打开 ObjectManager 我们会发现数据库已经清空了,张三的购车经历到此结束。

结论

通过本系列文章,db4o 的优势已经体现得淋漓尽致,它的添加、更新、删除是如此的简单,正如 db4o 的口号那样——“仅需一行代码就能存储复杂结构对象,极大的降低了开发时间和成本,提供高效的性能,无需 DBA 干预”。

上一页  1 2 3 4 5 

Tags:开源 面向 对象

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