面向 Java 开发人员的 db4o 指南: db4o 中的数据库重构
2010-04-01 00:00:00 来源:WEB开发网清单 3. Howyadoin'?(你好吗?)
package com.tedneward.model;
public enum Mood
{
HAPPY, CONTENT, BLAH, CRANKY, DEPRESSED, PSYCHOTIC, WRITING_AN_ARTICLE
}
第二步,我需要更改 Person 代码,添加一个字段和一些用于跟踪情绪的属性方法,如清单 4 所示:
清单 4. No, howYOUdoin'?(不,你好吗?)
package com.tedneward.model;
// Person v2
public class Person
{
// ... as before, with appropriate modifications to public constructor and
// toString() method
public Mood getMood() { return mood; }
public void setMood(Mood value) { mood = value; }
private Mood mood;
}
检查 db4o
在做其它事情之前,我们先来看看 db4o 对查找数据库中所有 Brian 的查询如何作出响应。换句话说,当数据库中没有存储 Mood 实例时,如果在数据库上运行一个基于已有的 Person 的查询,db4o 将如何作出响应(见清单 5)?
清单 5. 每个人都还好吗?
import com.db4o.*;
import com.tedneward.model.*;
// Version 2
public class ReadV2
{
public static void main(String[] args)
throws Exception
{
// Note the absence of the File.delete() call
ObjectContainer db = null;
try
{
db = Db4o.openFile("persons.data");
// Find all the Brians
ObjectSet brians = db.get(new Person("Brian", null, 0, null));
while (brians.hasNext())
System.out.println(brians.next());
}
finally
{
if (db != null)
db.close();
}
}
}
更多精彩
赞助商链接