使用db4o的QBE进行数据库的查询,使用的对象是Person,在上一篇文件中已经写过
import com.db4o.Db4oEmbedded;
import com.db4o.ObjectContainer;
import com.db4o.ObjectSet;
import com.db4o.eight.study.bean.Person;
public class DB4oQueryUseQBE {
final static String DB4OFILENAME = System.getProperty("user.dir")
+ "/database.db4o";
public static void QBEQuery(){
ObjectContainer db = Db4oEmbedded.openFile(
Db4oEmbedded.newConfiguration(), DB4OFILENAME);
Person proto = new Person(null, null, null);
try {
ObjectSet<Person> result = db.queryByExample(proto);
System.out.println(result.size());
for (Person per : result) {
System.out.println("id = " + per.getId()+
", name = "+ per.getName() + ", password = " + per.getPassword());
}
} finally {
db.close();
}
}
public static void shortQBEQuery() {
ObjectContainer db = Db4oEmbedded.openFile(
Db4oEmbedded.newConfiguration(), DB4OFILENAME);
try {
ObjectSet<Person> result = db.queryByExample(Person.class);
for (Person per : result) {
System.out.println("id = " + per.getId()+
", name = "+ per.getName() + ", password = " + per.getPassword());
}
}
finally {
db.close();
}
}
public static void queryByCondition() {
ObjectContainer db = Db4oEmbedded.openFile(
Db4oEmbedded.newConfiguration(), DB4OFILENAME);
try {
Person person = new Person("000002", null, "654321");
ObjectSet<Person> result = db.queryByExample(person);
for (Person per : result) {
System.out.println("id = " + per.getId()+
", name = "+ per.getName() + ", password = " + per.getPassword());
}
}
finally {
db.close();
}
}
public static void main(String[] args) {
// DB4oQueryUseQBE.QBEQuery();
// DB4oQueryUseQBE.shortQBEQuery();
DB4oQueryUseQBE.queryByCondition();
}
}