`

Spring和DB4O集成总结( 入门级A)

阅读更多
 

SpringDB4O集成总结<o:p></o:p>

1

编写一个包含SETTERGETTERPOJO类:

package com.model;

/**

 * @author gyc

 */

public class ModelBean { 

       private String msg;

       private String name;

       private Integer id;        

       public ModelBean() {

              super();

              // TODO Auto-generated constructor stub

       }

<o:p> </o:p> /**

        * @param msg

        * @param name

        * @param id

        */

       public ModelBean(String msg, String name, Integer id) {

              super();

              this.msg = msg;

              this.name = name;

              this.id = id;

       }

       public Integer getId() {

              return id;

       }

       public void setId(Integer id) {

              this.id = id;

       }

       public String getName() {

              return name;

       }

<o:p></o:p>

<o:p></o:p>

       public void setName(String name) {

              this.name = name;

       }

<o:p></o:p>

<o:p></o:p>

       public String getMsg() {

              return msg;

       }

    public void setMsg(String msg) {

              this.msg = msg;

              System.out.println("Now in ModelBean's setMsg() method,the msg is-->"+msg);

       }

<o:p> </o:p>       public void sayHello()

       {

  System.out.println(msg);

       }}

及在Spring初始化配置文件中配置:

<bean id="hello" class="com.model.ModelBean"><o:p></o:p>

    <property name="name"><o:p></o:p>

           <value>tomvalue><o:p></o:p>

       property><o:p></o:p>

       <property name="id"><o:p></o:p>

           <value>13value><o:p></o:p>

       property><o:p></o:p>

       <property name="msg"><o:p></o:p>

           <value>你好,Tom!value>

property><o:p></o:p>

    bean><o:p></o:p>

2:编写访问DB4O数据库的处理类:

package com.store;

<o:p></o:p>

import java.io.File;

import java.util.Collection;

import java.util.HashMap;

import java.util.Iterator;

import java.util.List;

<o:p></o:p>

import com.db4o.Db4o;

import com.db4o.ObjectContainer;

import com.db4o.ObjectSet;

import com.model.ModelBean;

import com.store.db4outil.Util;

<o:p></o:p>

/*

 * @author gyc

 */

public class AccessDb4oDeal {

<o:p> </o:p>       public AccessDb4oDeal() {

              // TODO Auto-generated constructor stub

              // 打开DB4O对象数据库

              // new File(Util.DB4OFILENAME).delete();

              // db = Db4o.openFile(Util.DB4OFILENAME);

<o:p> </o:p>

       }

<o:p></o:p>

       private ObjectContainer db = null;

<o:p></o:p>

       private String dbfilename;

<o:p></o:p>

       private ModelBean modelbean;

<o:p></o:p>

       public ModelBean getModelbean() {

              return modelbean;

       }

<o:p></o:p>

       public void setModelbean(ModelBean modelbean) {

              this.modelbean = modelbean;

       }

<o:p></o:p>

       public String getDbfilename() {

              return dbfilename;

       }

<o:p></o:p>

       public void setDbfilename(String dbfilename) {

              this.dbfilename = dbfilename;

       }<o:p> </o:p>

       // 打开DB4O对象数据库

       public void initAndOpenDb4o() {

              // new File(Util.DB4OFILENAME).delete();

              // db = Db4o.openFile(Util.DB4OFILENAME);

              // new File(this.dbfilename).delete();//如果有这条语句,则会先把之前数据删除

              // db = Db4o.openFile(this.dbfilename);

              db = Util.openLocalDb(db);

              System.out.println("Now in AccessDb4oDeal ,initAndOpenDb4o() mehtod!");

       }

<o:p></o:p>

       public boolean storeObject(Object obj) {

              boolean flag = false;

              try {

                     Util.storeObject(db, obj);

                     System.out.println("Now in AccessDb4oDeal,storeObject Method!");

                     flag = true;

              } catch (Exception ex) {

                     System.out.println("DB4O对象数据库插入对象数据发生异常:" + ex);

              } finally {

                     Util.closeDb(db);

              }

              return flag;

       }

  // QBE方式检索所有对象数据

       public Collection queryAllObjects(Object obj) {

              java.util.List list = null;

<o:p></o:p>

              try {

                     ObjectSet os = Util.retrieveAllObjectQBE(db, obj);

                     list = Util.convertObjectSet(os);

                     System.out.println("Now in AccessDb4oDeal,queryAllObjects method!");

              } catch (Exception ex) {

                     System.out.println("从对象数据库中检索对象失败: " + ex);

              } finally {

                     Util.closeDb(db);

              }

              return list;

<o:p></o:p>

       }

  // 用迭代器遍历集合数据

       public void listResult(Collection col) {

              System.out.println("Now in AccessDb4oDeal,listResult method!The Result size is --->"+ col.size());

              Iterator it = col.iterator();

              while (it.hasNext()) {

                     ModelBean obj = (ModelBean) it.next();

                     System.out

                                   .println("Now in AccessDb4oDeal,listResult method!The Object's Field Data is -->"

                                                 + obj.getMsg());

              }

       }

  // 从对象数据库(只限本次连接)中检索所有对象数据,返回一个对象集合

       public Collection findAllObjects(Object obj) {

              java.util.List list = null;

              try {

                     ObjectSet os = Util.retrieveAllObject(db, obj.getClass());

                     list = Util.convertObjectSet(os);

                     System.out.println("Now In AccessDb4oDeal,findAllObjects method!");

              } catch (Exception ex) {

                     System.out.println("从对象数据库中检索对象数据失败: " + ex);

              } finally {

                     Util.closeDb(db);

              }

              return list;

       }

 /*

        * 根据特殊条件检索对象

        */      

public Object findObjectByFieldValue(Object obj, String field, String value) {

              Object objreturn = null;

              try {     ObjectSet os = Util.queryObjectQEByFieldPramatersString(db, obj

                                   .getClass(), field, value);

                     List list = Util.convertObjectSet(os);

                     Iterator it = list.iterator();

                     while (it.hasNext()) {

                            objreturn = it.next();

                     }

              } catch (Exception ex) {

                     System.out.println("根据字段值条件检索对象失败: " + ex);

              } finally {

                     Util.closeDb(db);

              }

              return objreturn;

<o:p></o:p>

       }

}

<o:p></o:p>

及在Spring初始化配置文件中配置(用于Spring生成访问DB4O数据库的处理类):

<bean id="accessdb4odeal" class="com.store.AccessDb4oDeal"><o:p></o:p>

       <property name="dbfilename"><o:p></o:p>

           <value>formula1.db4ovalue>property> bean><o:p></o:p>

还有作为TOOLSDB4O工具类:<o:p></o:p>

package com.store.db4outil;

import java.util.List;

import com.db4o.*;<o:p></o:p>

import com.db4o.query.Constraint;<o:p></o:p>

import com.db4o.query.Query;<o:p>  </o:p>

/* @author gyc

 */<o:p></o:p>

public class Util {<o:p></o:p>

    public final static String DB4OFILENAME = "formula1.db4o";

 // 向对象数据库插入对象<o:p></o:p>

    public static void storeObject(ObjectContainer db, Object obj) {db.set(obj);<o:p></o:p>

       System.out.println("Stored-->: " + obj);<o:p></o:p>

    }

 // QBE方式检索对象数据库中所有对象数据<o:p></o:p>

    public static ObjectSet retrieveAllObjectQBE(ObjectContainer db, Object obj) {<o:p></o:p>

       return db.get(obj);<o:p></o:p>

    }

 

    // 遍历对象集<o:p></o:p>

    public static void listResult(ObjectSet result) {<o:p></o:p>

       System.out.println(result.size());<o:p></o:p>

       while (result.hasNext()) {<o:p></o:p>

           System.out.println(result.next());<o:p></o:p>

       }<o:p></o:p>

    }    // 遍历LIST对象<o:p></o:p>

    public static void listResult(java.util.List result) {<o:p></o:p>

       System.out.println(result.size());<o:p></o:p>

       for (int x = 0; x < result.size(); x++) {<o:p></o:p>

           System.out.println(result.get(x));<o:p></o:p>

       }<o:p></o:p>

    }    // Native Queries方式检索对象数据库中所有对象数据<o:p></o:p>

    public static ObjectSet retrieveAllObject(ObjectContainer db, Class xls) {<o:p></o:p>

       return db.get(xls);<o:p></o:p>

    } 

分享到:
评论

相关推荐

    db4o使用指南

    一、db4o 安装和启动 db4o 的安装非常简单,只需要从官方网站下载最新的版本,并在 Eclipse 中新建 Java 项目,将 db4o 对象数据库引擎包 db4o-5.5-java5.jar 导入进项目。 db4o 支持多种版本的 JDK,因此可以根据...

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

    ### db4o面向对象数据库教程入门知识点解析 #### 一、db4o简介与特性 - **db4o**:db4o是一款专为Java、.NET和Mono平台设计的开源面向对象数据库系统。它提供了高效的数据存储和检索功能,支持多种数据类型,并且...

    Db4o的简单操作项目

    Db4o,全称为“Database for Objects”,是一个开源的对象数据库管理系统,主要应用于Java和.NET平台。这个项目专注于提供一种简单的方式来存储和检索Java对象,无需SQL或其他中间映射层。在“Db4o的简单操作项目”...

    db4o8.0以及db4o中文指南

    在db4o 8.0版本中,引入了多项增强功能和改进,以提升性能和用户体验。 ### 一、对象数据库基础 对象数据库与传统的关系型数据库不同,它不依赖于表格和列的结构,而是直接存储和检索对象实例。这使得对象数据库在...

    db4o-8.0-java

    db4o的目标是提供一种简单、高效的方式来处理数据,特别是在嵌入式系统和移动应用中,它的轻量级特性和高性能表现尤为突出。 **版本8.0** 是db4o的最后一个官方发布版本,意味着这个版本包含了db4o的所有最新特性和...

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

    **对象数据库db4o详解** ...通过`DrawTools2005`这样的示例程序,开发者可以深入理解如何将db4o集成到实际项目中,提升开发效率。无论是学习还是实际开发,db4o都是一个值得探索的对象数据库解决方案。

    db4o中文指南

    db4o是一个专为Java和.NET开发者设计的开源、轻量级的纯面向对象数据库引擎,提供了一种简单易用的方式来实现对象持久化。这款数据库引擎已被验证具备优秀的性能,根据描述中的基准测试,db4o在与传统持久化方案的...

    db4o 权威指南

    该书详细介绍了db4o的基础知识,包括如何安装和配置db4o环境,以及如何在Java项目中集成db4o。作者通过实例展示了如何创建、打开和关闭数据库,以及如何保存和检索对象。书中还涵盖了对象持久化的基本概念,解释了...

    db4o开发指南和各种实例

    db4o广泛应用于嵌入式系统、移动应用和小型项目中。 **二、NQ(Native Queries)** NQ是db4o提供的一种原生查询机制,它允许开发者使用Java对象进行查询,而不是SQL语句。通过NQ,可以方便地实现对对象属性的匹配,...

    db4o .net3.5

    这个标题暗示我们将讨论的是db4o与.NET Framework 3.5的集成和使用。 ### 1. 对象数据库 对象数据库与关系型数据库的主要区别在于,它存储和查询的是对象而非表格数据。db4o将对象的实例直接保存到数据库中,使得...

    db4o for java

    **db4o (Database for Objects) 是一个开源的、基于Java和.NET的面向对象数据库系统。它允许开发者直接在数据库中存储和检索Java或.NET对象,而无需传统的SQL查询语言,极大地简化了数据管理和持久化的流程。** 在...

    db4o-7.12-tutorial

    - **db4o引擎**:db4o的核心是一个高性能的对象数据库引擎,能够直接存储和检索对象数据,无需复杂的转换过程。 - **对象持久化**:通过简单的API调用即可实现对象的存储和检索,极大地简化了开发工作。 - **事务...

    DB4O Java开发应用

    这些资源可以帮助你更好地了解如何在实际项目中集成和使用DB4O。 在实际开发中,DB4O提供了强大的特性,如透明持久化、延迟加载、查询优化等,使得开发人员可以更专注于业务逻辑,而不是数据库交互的细节。不过,...

    DB4o 数据库实例

    DB4o(Database for Objects)是一款开源的对象数据库...通过本实例,你可以了解到如何在VS2008环境中集成DB4o,进行对象数据库的开发和应用。在实际项目中,根据具体需求,合理运用DB4o能有效提高开发效率和系统性能。

    java数据库(db4o)

    7. **轻量级**:db4o的体积小,启动快速,适合嵌入式系统和移动应用。 8. **可扩展性**:db4o允许用户自定义存储策略,如字段级别的加密或特定的索引类型。 9. **社区支持**:作为开源项目,db4o拥有活跃的开发者...

    DB4O管理工具

    DB4O(Database for Objects)是一款开源的对象数据库管理系统(Object-Relational Mapping,ORM),它允许开发者将Java或.NET对象直接存储到磁盘上,无需转换为传统的表和列的结构。DB4O的设计理念是简化数据存储,...

    DB4O_.net

    " 这意味着db4o具有轻量级、快速启动和运行的特点,对于那些需要快速实现数据存储功能的项目来说,是一个理想的选择。尤其是在开发桌面应用时,db4o可以极大地简化数据管理,因为它允许直接将对象存储和检索,而无需...

    db4o的ppt讲稿

    db4o作为一个强大的开源对象导向数据库,解决了面向对象编程与关系型数据库之间的不兼容性,为开发者提供了直接、高效、轻量级的数据持久化解决方案。它的广泛应用和社区支持证明了其在简化开发流程、提高性能和跨...

    非常好的Db4o资料,适合想研究Db4o的同学

    Db4o,全称为“Database for Objects”,是一个开源的对象数据库系统,专为.NET和Java平台设计。它允许开发者直接在对象上进行数据操作,而无需传统的ORM(对象关系映射)层,简化了数据存储和检索的过程。这个...

Global site tag (gtag.js) - Google Analytics