`
zhangbaoming815
  • 浏览: 149937 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用db4o的NQ进行数据库的查询

    博客分类:
  • db4o
阅读更多

使用db4o的NQ进行数据库的查询,所使用的Person的对象已经在前面的文章中写过

import java.util.List;

import com.db4o.Db4oEmbedded;
import com.db4o.ObjectContainer;
import com.db4o.eight.study.bean.Person;
import com.db4o.query.Predicate;

public class DB4oQueryUseNQ {
	final static String DB4OFILENAME = System.getProperty("user.dir")
			+ "/database.db4o";
	
	public static void NQQueryByCondition() {
		ObjectContainer db = Db4oEmbedded.openFile(
				Db4oEmbedded.newConfiguration(), DB4OFILENAME);
		try {
			List<Person> result = db.query(new Predicate<Person>() {
				private static final long serialVersionUID = 1L;
			
				public boolean match(Person person) {
			        return "Person".equals(person.getName());
			    }
			});
			
			for (Person per : result) {
			    System.out.println("id = " + per.getId()+
			    		", name = "+ per.getName() + ", password = " + per.getPassword());
			}
		} finally {
			db.close();
		}
	}
	
	public static void NQQuery() {
		ObjectContainer db = Db4oEmbedded.openFile(
				Db4oEmbedded.newConfiguration(), DB4OFILENAME);
		try {
			List<Person> result = db.query(new Predicate<Person>() {
				private static final long serialVersionUID = 1L;
				public boolean match(Person person) {
			        return true;
			    }
			});
			
			for (Person per : result) {
			    System.out.println("id = " + per.getId()+
			    		", name = "+ per.getName() + ", password = " + per.getPassword());
			}
		} finally {
			db.close();
		}
	}
	
	public static void NQQueryByManyCondition() {
		ObjectContainer db = Db4oEmbedded.openFile(
				Db4oEmbedded.newConfiguration(), DB4OFILENAME);
		try {
			List<Person> result = db.query(new Predicate<Person>() {
				private static final long serialVersionUID = 1L;
				public boolean match(Person person) {
			        return person.getId().equals("000003")
			        		&&person.getName().equals("Aimi")
			        		||person.getPassword().equals("132345");
			    }
			});
			
			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) {
//		DB4oQueryUseNQ.NQQueryByCondition();
//		DB4oQueryUseNQ.NQQuery();
		DB4oQueryUseNQ.NQQueryByManyCondition();
	}
}
 
分享到:
评论

相关推荐

    db4o面向对象数据库教程的入门教程

    #### 四、db4o使用示例 - **首次接触**:在深入探讨具体的代码示例之前,我们先来熟悉一下db4o的基本概念和组件。了解db4o引擎的工作原理以及如何将对象持久化到数据库中。 - **基本操作**:学习如何使用db4o进行...

    DB4O面向对象数据库使用指南

    DB4O面向对象数据库使用指南

    db4o使用指南

    NQ 是 db4o 的主要查询接口,提供了高级的查询功能,开发者可以使用 Predicate 类来构造原生查询。 三、db4o 对象持久化 db4o 对象持久化是将 Java 对象保存到数据库中的过程。 db4o 提供了两种运行模式:本地模式...

    面向 Java 开发人员的 db4o 指南: 第 3 部分:db4o 中的数据库重构

    **db4o(Database for Objects)**是一款开源的对象数据库,专为Java开发人员设计,它允许开发者直接在数据库中存储和检索Java对象,无需进行传统的SQL映射。本指南的第三部分将深入探讨如何在db4o中进行数据库重构...

    对象数据库db4o对象数据库db4o

    **对象数据库db4o详解** 对象数据库是一种新型的数据库管理系统,与传统的关系型数据库不同,它直接存储和管理对象,而不是将对象转换为表格形式的数据。db4o(database for objects)是对象数据库的一种,它提供了...

    db4o面对对象数据库

    1. **原生面向对象**:db4o提供了一种全新的面向对象的查询方式,能够直接在Java或.NET等现代编程语言中进行操作,实现了100%面向对象的设计理念。 2. **高性能**:db4o具有出色的性能表现,官方提供的测试数据显示...

    DB4o 数据库实例

    压缩包中的“DB4O测试”可能包含了一些示例代码,用于演示如何使用DB4o进行对象的存储、查询以及事务处理等操作。通过阅读和运行这些代码,你可以更深入地理解DB4o的工作原理和用法。 10. **整合VS2008**: 在VS...

    面向Java开发人员的db4o指南db4o中的数据库重构.doc

    面向Java开发人员的db4o指南db4o中的数据库重构

    Db4o的简单操作项目

    在“Db4o的简单操作项目”中,我们将探讨如何使用Db4o进行基本的数据操作,包括对象的持久化、查询以及事务管理。 首先,你需要访问db4o的官方网站(http://www.db4o.com)来获取最新的Db4o版本。下载完成后,将jar...

    DB4o 将一个对象保存到文件中,然后查询读取

    查询DB4o数据库也相当直观,可以使用查询构造器(Query Object)或者原生查询(Native Queries)。以下是一个使用查询构造器的例子: ```java Query query = oc.query(); query.constrain(TestDBBean.class); query...

    java数据库(db4o)

    Java数据库db4o,全称为“Database for Objects”,是一款开源的对象数据库系统,专门设计用于Java...在压缩包中的“db4o”文件可能包含了db4o的库文件、示例代码、文档等资源,可以帮助深入理解和使用这个数据库系统。

    db4o-8.0-java

    **db4o(Database for Objects)** 是一个开源的对象数据库管理系统(Object-Relational Mapping,ORM),它允许开发者直接在Java或.NET平台上存储和检索Java对象或.NET对象,无需进行SQL查询或者映射过程。db4o的...

    db4o8.0以及db4o中文指南

    db4o(Database for Objects)是一款开源的对象数据库系统,它允许开发者直接将Java或.NET对象存储到数据库中,无需进行ORM(对象关系映射)。db4o的目标是简化数据管理,提供更接近自然编程的方式,使开发过程更加...

    db4o 权威指南

    db4o提供了强大的查询能力,允许开发者基于对象的属性和关系进行复杂的查询,这在处理复杂业务逻辑时非常有用。 在性能优化方面,《db4o 权威指南》也提供了实用的建议,如内存管理和数据库优化策略,帮助读者在...

    db4o-8.0.236.16058.zip 对象数据库,内存数据库jar包,两个

    db4o也可以作为一个内存数据库使用,这意味着数据库中的所有数据都存储在内存中,而不是硬盘上。内存数据库的优势在于极快的读写速度和低延迟,但缺点是数据不会持久化,一旦程序关闭,所有数据都会丢失。然而,对于...

    db4o开发指南和各种实例

    NQ是db4o提供的一种原生查询机制,它允许开发者使用Java对象进行查询,而不是SQL语句。通过NQ,可以方便地实现对对象属性的匹配,如查询所有年龄大于30的人,只需创建一个年龄为30的对象,然后使用db4o的query()方法...

    开源面向对象数据库 db4o 之旅

    2.介绍了面向对象数据库 db4o 的安装、启动以及三种查询语言,并对三种查询语言做了比较。 3.介绍面向对象数据库 db4o 的修改和删除,并对其中出现的问题进行细致分析,引入了“更新深度(update depth)”这一重要...

    db4o中文指南

    这款数据库引擎已被验证具备优秀的性能,根据描述中的基准测试,db4o在与传统持久化方案的对比中排名第二,仅次于JDBC,且明显优于使用Hibernate/HSQLDB的方案,证明了面向对象并不一定意味着性能损失。 ### 1. db4...

Global site tag (gtag.js) - Google Analytics