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

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

 2010-04-01 00:00:00 来源:WEB开发网   
核心提示:前言在开源面向对象数据库 db4o 之旅 系列文章的第 1 部分:初识 db4o 中,作者介绍了 db4o 的历史和现状,开源面向对象数据库 db4o 之旅,第 3 部分: 深入db4o,应用领域,以及和 ORM 等的比较; 在第 2 部分:db4o 查询方式中, 作者介绍了 db4o 的三种不同的查询方式:QBE、S

前言

在开源面向对象数据库 db4o 之旅 系列文章的第 1 部分:初识 db4o 中,作者介绍了 db4o 的历史和现状,应用领域,以及和 ORM 等的比较; 在第 2 部分:db4o 查询方式中, 作者介绍了 db4o 的三种不同的查询方式:QBE、SODA 以及 Native Queries,并分别通过这三种不同的途径实现了两个关联对象的查询。

前面我们已经介绍了如何在 db4o 中查询以及添加对象,在本文中我们将会向您介绍在 db4o 中如何对对象进行更新以及删除操作。

更新数据

场景一

我们来设想这样的场景:一位名叫“张三”的人买了车,并上好了牌照(如本系列第二部分之代码),而他基本信息的地址并不详细,只写了“成都市”,在一次主管部门检查此人信息的时候,发现了这个问题,并立即着手修改。

在 db4o 中,我们这样来实现对这个用户信息的修改(清单1):

清单1. 修改地址

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){ 
 //打开数据库 
 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(); 
  //修改地址 
  people.setAddress("成都市金牛区xxx号"); 
  db.set(people); 
 }finally{ 
  //关闭连接 
  db.close(); 
 } 
 } 
} 

1 2 3 4 5  下一页

Tags:开源 面向 对象

编辑录入:爽爽 [复制链接] [打 印]
[]
  • 好
  • 好的评价 如果觉得好,就请您
      0%(0)
  • 差
  • 差的评价 如果觉得差,就请您
      0%(0)
赞助商链接