对db4o(面向对象的数据库)的基本操作:
数据库的链接:
private static ObjectContainer db;
final static String DB4OFILENAME = System.getProperty("user.dir")
+ "/database.db4o";
static{
db = Db4oEmbedded.openFile(
Db4oEmbedded.newConfiguration(), DB4OFILENAME);
}
数据库存储:
public void store(Object obj) {
ObjectContainer db = Db4oEmbedded.openFile(
Db4oEmbedded.newConfiguration(), DB4OFILENAME);
try {
db.store(obj);
} finally {
db.close();
}
}
数据的查询,更新,和删除操作:
public void queryObject() {
ObjectContainer db = Db4oEmbedded.openFile(
Db4oEmbedded.newConfiguration(), DB4OFILENAME);
List<Person> persons = null;
try{
persons = db.query(new Predicate<Person>() {
private static final long serialVersionUID = 1L;
public boolean match(Person person) {
// return "Allen".equals(person.getName());//根据特定的条件查询数据
return true;//查询数据库中对应表中所有的数据,此处为person表
}
});
for(Person per : persons) {
System.out.println(per.getName()+" : " + per.getPassword());
}
Person person = persons.get(0);
System.out.println(person);
person.setName("Person");
db.store(person);
// db.delete(person);
System.out.println("==================");
for(Person per : persons) {
System.out.println(per.getName()+" : " + per.getPassword());
}
} finally {
db.close();
}
}
完整的代码:
Person
public class Person {
private String id;
private String name;
private String password;
public Person(String id, String name, String password) {
this.id = id;
this.name = name;
this.password = password;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
Operation
import java.util.List;
import com.db4o.Db4oEmbedded;
import com.db4o.ObjectContainer;
import com.db4o.eight.study.bean.Person;
import com.db4o.query.Predicate;
import com.db4o.query.Query;
public class Operation {
// private static ObjectContainer db;
final static String DB4OFILENAME = System.getProperty("user.dir")
+ "/database.db4o";
// static{
// db = Db4oEmbedded.openFile(
// Db4oEmbedded.newConfiguration(), DB4OFILENAME);
// }
// public static ObjectContainer DB4oConnection() {
// return db;
// }
//db4o 数据库存储对象
public void store(Object obj) {
ObjectContainer db = Db4oEmbedded.openFile(
Db4oEmbedded.newConfiguration(), DB4OFILENAME);
try {
db.store(obj);
} finally {
db.close();
}
}
//db4o 数据库进行查询,第一种查询方法
public void queryObject() {
ObjectContainer db = Db4oEmbedded.openFile(
Db4oEmbedded.newConfiguration(), DB4OFILENAME);
List<Person> persons = null;
try{
persons = db.query(new Predicate<Person>() {
private static final long serialVersionUID = 1L;
public boolean match(Person person) {
// return "Allen".equals(person.getName());//根据特定的条件查询数据
return true;//查询数据库中对应表中所有的数据,此处为person表
}
});
for(Person per : persons) {
System.out.println(per.getName()+" : " + per.getPassword());
}
Person person = persons.get(0);
System.out.println(person);
person.setName("Person");
db.store(person);
// db.delete(person);
System.out.println("==================");
for(Person per : persons) {
System.out.println(per.getName()+" : " + per.getPassword());
}
} finally {
db.close();
}
}
//db4o 数据库进行查询,第二种查询方法
public void queryObject(String name) {
ObjectContainer db = Db4oEmbedded.openFile(
Db4oEmbedded.newConfiguration(), DB4OFILENAME);
List<Person> persons = null;
try{
Query query = db.query();
query.constrain(Person.class);
query.descend("name").constrain(name);
persons = query.execute();
System.out.println(persons.get(0).getName()+" : " + persons.get(0).getPassword());
} finally {
db.close();
}
}
//db4o 删除一个对象
public void deleteObject(Object obj) {
ObjectContainer db = Db4oEmbedded.openFile(
Db4oEmbedded.newConfiguration(), DB4OFILENAME);
try {
db.delete(obj);
} finally {
db.close();
}
}
public static void main(String[] args) {
System.out.println(DB4OFILENAME);
Operation op = new Operation();
// Person person = new Person("000001", "Allen", "123456");
// Person person1 = new Person("000002", "Jeson", "654321");
// Person person2 = new Person("000003", "Aimi", "234156");
// op.store(person);
// op.store(person1);
// op.store(person2);
op.queryObject();
// op.queryObject("Aimi");
// op.deleteObject(person2);
}
}
分享到:
相关推荐
对象数据库db4o的示例程序,对象数据库db4o, 对象数据库db4o
Db4o数据库操作.pdf
学习DB4 数据库 源代码 请使用VS2008
db4o8.0以及db4o中文操作指南
1.介绍了面向对象数据库 db4o 的基本特性,并且与传统关系型数据库以及 OR 映射技术做了比较分析,读者可以体验到 db4o 的全新的面向对象存储的理念,并且给出了性能测试数据。 2.介绍了面向对象数据库 db4o 的安装...
可以查看、删除DB4O数据库中的数据,支持*.yap、*.db、*.data等DB4O数据库
DB4O数据库开发的完整文档。想要中文的就别下了!
http://www.db4o.com db4o的官网,可下载最新版本,jar包在项目的database目录下,若构建路径报错请重新添加
描述了DB4O的基础知识,同时其中还包含有更多的DB4O复制系统信息的链接地址.
最近学习db4o时参考网上的教程做的一个小程序,基于Android 2.2模拟器开发(所以模拟器最低版本也要是2.2). 简介: 1.直接在sd卡上建立数据库,而不是网上那种在data目录下创建,这样在实际应用中更方便移动数据库. 2....
java开发用的一个小型数据库,有完整版的也有精简版的
自己自学对DB4o数据库的笔记,对象的SQL基本操作
DB4O面向对象数据库使用指南
db4o面向对象数据库教程的入门教程,案例详细
db4o 是一个开源的纯面向对象数据库引擎,对于 Java 与 .NET 开发者来说都是一个简单易用的对象持久化工具,使用简单。同时,db4o 已经被第三方验证为具有优秀性能的面向对象数据库, 下面的基准测试图对 db4o 和...
db4o 数据库 所需dll 含有 x64 和x86 的6.0-8.0各个版本
db4o最后发布的版本,包含全部源码、jar包,eclipse下的对象查看插件、全部说明文档等。
描述了db4o的信息要点和使用指南,讲述了一些特殊类,及其基本的使用
android开源数据库db4o学习demo,里面包含操作数据库常见的四种操作CRUD
For the fastest start with db4o please work through the tutorial, available in different formats in the following folder: ./doc/tutorial/ If you are working with db4o for Java, it is recommended...