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>

    } 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值