Hibernate_Spring中通用的DAO类

代码随手写的,前半部份已测试通过,后半部份还没来得及测试:

由于HQL语句中,有类的名字,和别名的应用,没有办法,只好做个init(Class class)方法.

DAO类:

java代码:


package  common.dao; 

import  java.util. *

import  net.sf.hibernate. *
import  org.springframework.orm.hibernate.support. *


/** 
* <p>Title: </p> 
* <p>Description: </p> 
* <p>Copyright: Copyright (c) 2004</p> 
* <p>Company: </p> 
@author 段洪杰 
@version 1.0 
*/
 

public   class  BaseDAOImpl  extends  HibernateDaoSupport  implements  IBaseDAO 


    
private Class pojoClass; 

  
/** 
  * 构造函数 
  
*/
 

    
public BaseDAOImpl() 
      
super(); 
    }
 

  
/** 
   * 构造函数 
   
*/
 
  
public BaseDAOImpl(Class pojoClass) 
    
super(); 
    
this.pojoClass=pojoClass; 
    }
 

  
/** 
   * 增加记录 
   * 
@param object Object 
   
*/
 
  
public void setObject(Object object) throws Exception 
    getHibernateTemplate().save(object); 
  }
 


  
/** 
   * 通过ID取得记录 
   * 
@param id String 
   * 
@return Object 
   
*/
 
  
public Object getObjectById(String id) throws Exception 
    Object object 
= (Object) getHibernateTemplate().load(pojoClass, id); 
    
return object; 
  }
 


  
/** 
   * 修改记录 
   * 
@param Object object 
   
*/
 
  
public void modifyObject(Object object) throws Exception 
    getHibernateTemplate().update(object); 
  }
 


  
/** 
   * 删除记录 
   * 
@param Object object 
   
*/
 
  
public void removeObject(Object object) throws Exception 
    getHibernateTemplate().delete(object); 
  }
 


  
 
  /                                                //
  /以下部份不带审核功能                              //
  /                                                //
   

  
/** 
   * 取记录总数 
   * 
@return int 
   
*/
 
  
public int getObjectsCount() throws Exception 
    
int count = 0
    String queryString 
= "select count(*) from "+pojoClass.getName(); 
    count 
= ((Integer) getHibernateTemplate().iterate(queryString).next()). 
            intValue(); 
    
return count; 
  }
 


  
/** 
   * 取所有记录集合 
   * 
@return Iterator 
   
*/
 
  
public Iterator getAllObjects() throws Exception 
    Iterator iterator 
= null
    String queryString 
= " select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" order by "+pojoClass.getName().toLowerCase()+".id desc"
    List list 
= getHibernateTemplate().find(queryString); 
    iterator 
= list.iterator(); 
    
return iterator; 

  }
 


  
/** 
   * 取记录集合 
   * 
@return Iterator 
   * 
@param int position, int length 
   
*/
 
  
public Iterator getObjects(int position, int length) throws Exception 
    Iterator iterator 
= null
    String queryString 
= " select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" order by "+pojoClass.getName().toLowerCase()+".id desc"
    Query query 
= getHibernateTemplate().createQuery(getSession(), queryString); 
    
//设置游标的起始点 
    query.setFirstResult(position); 
    
//设置游标的长度 
    query.setMaxResults(length); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 
    
return iterator; 
  }
 


  
/** 
   * 取第一条记录 
   * 
@throws Exception 
   * 
@return Station 
   
*/
 
  
public Object getFirstObject() throws Exception 
    Iterator iterator 
= null
    Object object 
= null
    String queryString 
= "select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" order by "+pojoClass.getName().toLowerCase()+".id desc"
    Query query 
= getHibernateTemplate().createQuery(getSession(), queryString); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 
    
if (iterator.hasNext()) 
      object 
= (Object) iterator.next(); 
    }
 
    
return object; 
  }
 


  
/** 
   * 取最后一条记录 
   * 
@throws Exception 
   * 
@return Station 
   
*/
 
  
public Object getLastObject() throws Exception 
    Iterator iterator 
= null
    Object object 
= null
    String queryString 
= "select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" order by "+pojoClass.getName().toLowerCase()+".id asc"
    Query query 
= getHibernateTemplate().createQuery(getSession(), queryString); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 
    
if (iterator.hasNext()) 
      object 
= (Object) iterator.next(); 
    }
 
    
return object; 

  }
 


  
 
  /                                                //
  / 以下部份表中要有特定字段才能Õ吩诵袪 牳鋈撕推笠禒    //
  /                                                //
   

  
/** 
   * 取符合条件记录总数, [表中要有 isperson 字段] 
   * 
@return int 
   * 
@param int isPerson 
   
*/
 

  
public int getObjectsCountByIsperson(int isPerson) throws Exception 
    
int count = 0
    String queryString 
= 
        
"select count(*) from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".isperson =" + isPerson; 
    count 
= ((Integer) getHibernateTemplate().iterate(queryString).next()). 
            intValue(); 
    
return count; 
  }
 


  
/** 
   * 取所有符合条件记录集合, 模糊查询条件.[表中要有 isperson 字段] 
   * 
@return Iterator 
   * 
@param int isPerson 
   
*/
 

  
public Iterator getAllObjectsByIsperson(int isPerson) throws Exception 
    Iterator iterator 
= null
    String queryString 
= " select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".isperson =" + 
                         isPerson 
+ " order by "+pojoClass.getName().toLowerCase()+".id desc"
    List list 
= getHibernateTemplate().find(queryString); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 
    
return iterator; 
  }
 


  
/** 
   * 取符合条件记录集合, 模糊查询条件.[表中要有 isperson 字段] 
   * 
@return Iterator 
   * 
@param int isPerson,int position, int length 
   
*/
 

  
public Iterator getObjectsByIsperson(int isPerson, int position, int length) throws 
      Exception 

    Iterator iterator 
= null
    String queryString 
= " select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".isperson =" + 
                         isPerson 
+ " order by "+pojoClass.getName().toLowerCase()+".id desc"
    
//创建查询 
    Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
    
//设置游标的起始点 
    query.setFirstResult(position); 
    
//设置游标的长度 
    query.setMaxResults(length); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 
    
return iterator; 
  }
 


  
 
  /                                                //
  / 以下部份表中要有特定字段才能Õ吩诵袪  查询部份      //
  /                                                //
  //
  /** 
   * 取符合条件记录总数, 模糊查询条件.[表中要有 title 字段] 
   * 
@return int 
   * 
@param String text 
   
*/
 
  
public int getObjectsCount(String text) throws Exception 
    
int count = 0
    count 
= ((Integer) getHibernateTemplate().iterate( 
        
"select count(*) from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".title like '%" + text +"%'").next()).intValue(); 
    
return count; 
  }
 


  
/** 
   * 取所有符合条件记录集合, 模糊查询条件.[表中要有 title 字段] 
   * 
@return Iterator 
   * 
@param String text 
   
*/
 

  
public Iterator getAllObjects(String text) throws Exception 
    Iterator iterator 
= null
    String queryString 
= 
        
" select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".title like '%" + text + 
        
"%' order by "+pojoClass.getName().toLowerCase()+".id desc"
    
//创建查询 
    Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 
    
return iterator; 
  }
 


  
/** 
   * 取符合条件记录集合, 模糊查询条件.[表中要有 title 字段] 
   * 
@return Iterator 
   * 
@param String text,int position, int length 
   
*/
 
  
public Iterator getObjects(String text, int position, int length) throws 
      Exception 

    Iterator iterator 
= null
    String queryString 
= 
        
" select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".title like '%" + text + 
        
"%' order by "+pojoClass.getName().toLowerCase()+".id desc"

    
//创建查询 
    Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
    
//设置游标的起始点 
    query.setFirstResult(position); 
    
//设置游标的长度 
    query.setMaxResults(length); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 
    
return iterator; 
  }
 


  
 
  /                                                //
  / 以下部份表中要有特定字段才能Õ吩诵袪 犠⒉嵯喙貭     //
  /                                                //
   

  
/** 
   * 取符合条件记录总数.[ 表中要有 registername 字段] 
   * 
@return int 
   * 
@param String text 
   
*/
 
  
public int getObjectsCountByRegisterName(String registerName) throws Exception 
    
int count = 0
    count 
= ((Integer) getHibernateTemplate().iterate( 
        
"select count(*) from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".registername = '" + 
        registerName 
+ "'").next()).intValue(); 
    
return count; 
  }
 


  
/** 
   * 通过注册名取得一条记录,如有多条,只取第一条.[表中要有 registername字段] 
   * 
@param registername String 
   * 
@return Object 
   
*/
 
  
public Object getObjectByRegisterName(String registerName) throws Exception 
    Iterator iterator 
= null
    Object object 
= null
    String queryString 
= 
        
" select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".registername='" + 
        registerName 
+ "' order by "+pojoClass.getName().toLowerCase()+".id desc"
    
//创建查询 
    Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 
    
if (iterator.hasNext()) 
      object 
= (Object) iterator.next(); 
    }
 
    
return object; 
  }
 


  
/** 
   * 通过注册名取得所有记录集合.[表中要有 registername字段] 
   * 
@param registername String 
   * 
@return Iterator 
   
*/
 
  
public Iterator getAllObjectsByRegisterName(String registerName) throws 
      Exception 

    Iterator iterator 
= null
    String queryString 
= 
        
" select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".registername='" + 
        registerName 
+ "' order by "+pojoClass.getName().toLowerCase()+".id desc"
    
//创建查询 
    Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 
    
return iterator; 
  }
 


  
/** 
   * 通过注册名取得记录列表.[表中要有 registername字段] 
   * 
@param registername String 
   * 
@return Iterator 
   
*/
 
  
public Iterator getObjectsByRegisterName(String registerName, int position, 
                                         
int length) throws Exception 
    Iterator iterator 
= null
    String queryString 
= 
        
" select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".registername='" + 
        registerName 
+ "' order by "+pojoClass.getName().toLowerCase()+".id desc"
    
//创建查询 
    Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
    
//设置游标的起始点 
    query.setFirstResult(position); 
    
//设置游标的长度 
    query.setMaxResults(length); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 
    
return iterator; 
  }
 


  
 
  /                                                //
  / 以下部份表中要有特定字段才能Õ吩诵袪   犑餍桶婵闋    //
  /                                                //
   

  
/** 
   * 取记录总数.[ 表中要有 board_id 字段] 
   * 
@return int 
   * 
@param String boardId 
   
*/
 
  
public int getObjectsCountByBoard(String boardId) throws Exception 
    
int count = 0

    count 
= ((Integer) getHibernateTemplate().iterate( 
        
"select count(*) from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".boardId = '" + boardId + 
        
"'").next()).intValue(); 

    
return count; 
  }
 


  
/** 
   * 通过版块名取得所有记录集合.[表中要有 board_id字段] 
   * 
@param BoardId String 
   * 
@return Iterator 
   
*/
 
  
public Iterator getAllObjectsByBoard(String boardId) throws Exception 
    Iterator iterator 
= null
    String queryString 
= " select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".boardId='" + 
                         boardId 
+ "' order by "+pojoClass.getName().toLowerCase()+".id desc"
    
//创建查询 
    Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 
    
return iterator; 
  }
 


  
/** 
   * 通过版块名取得记录列表.[表中要有 board_id字段] 
   * 
@param BoardId String 
   * 
@return Iterator 
   
*/
 
  
public Iterator getObjectsByBoard(String boardId, int position, int length) throws 
      Exception 

    Iterator iterator 
= null
    String queryString 
= " select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".boardId='" + 
                         boardId 
+ "' order by "+pojoClass.getName().toLowerCase()+".id desc"

    
//创建查询 
    Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
    
//设置游标的起始点 
    query.setFirstResult(position); 
    
//设置游标的长度 
    query.setMaxResults(length); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 

    
return iterator; 

  }
 


  
/** 
   * 取符合条件记录总数.[ 表中要有 board_id 字段,title]  模糊查询title 
   * 
@return int 
   * 
@param String boardId ,String text 
   
*/
 
  
public int getObjectsCountByBoard(String boardId, String text) throws Exception 
    
int count = 0

    count 
= ((Integer) getHibernateTemplate().iterate( 
        
"select count(*) from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".boardId='" + boardId + 
        
"' and "+pojoClass.getName().toLowerCase()+".title like '%" + text + "%'").next()).intValue(); 

    
return count; 

  }
 


  
/** 
   * 通过版块名取得记录列表.[表中要有 board_id字段]  模糊查询title 
   * 
@param String boardID,int position, int length 
   * 
@return Iterator 
   
*/
 
  
public Iterator getObjectsByBoard(String boardId, int position, int length, 
                                  String text) 
throws Exception 
    Iterator iterator 
= null
    String queryString 
= " select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".boardId='" + 
                         boardId 
+ "' and "+pojoClass.getName().toLowerCase()+".title like '%" + text + 
                         
"%' order by "+pojoClass.getName().toLowerCase()+".id desc"

    
//创建查询 
    Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
    
//设置游标的起始点 
    query.setFirstResult(position); 
    
//设置游标的长度 
    query.setMaxResults(length); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 
    
return iterator; 

  }
 


  
 
  /                                                //
  /以下部份带有审核功能                              //
  /                                                //
   

  
/** 
   * 取记录总数 
   * 
@return int 
   * 
@param int isAuditing 
   
*/
 
  
public int getObjectsCount(int isAuditing) throws Exception 
    
int count = 0

    count 
= ((Integer) getHibernateTemplate().iterate( 
        
"select count(*) from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".isauditing=" + 
        isAuditing).next()).intValue(); 
    
return count; 
  }
 


  
/** 
   * 取所有记录集合 
   * 
@return Iterator 
   * 
@param int position, int length,int isAuditing 
   
*/
 
  
public Iterator getAllObjects(int isAuditing) throws Exception 
    Iterator iterator 
= null
    String queryString 
= 
        
" select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".isauditing=" + isAuditing + 
        
" order by "+pojoClass.getName().toLowerCase()+".id desc"
    Query query 
= getHibernateTemplate().createQuery(getSession(), queryString); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 
    
return iterator; 
  }
 


  
/** 
   * 取记录集合 
   * 
@return Iterator 
   * 
@param int position, int length,int isAuditing 
   
*/
 
  
public Iterator getObjects(int position, int length, int isAuditing) throws 
      Exception 

    Iterator iterator 
= null
    String queryString 
= 
        
" select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".isauditing=" + isAuditing + 
        
" order by "+pojoClass.getName().toLowerCase()+".id desc"

    Query query 
= getHibernateTemplate().createQuery(getSession(), queryString); 
    
//设置游标的起始点 
    query.setFirstResult(position); 
    
//设置游标的长度 
    query.setMaxResults(length); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 

    
return iterator; 
  }
 


  
 
  /                                                       //
  / 以下部份表中要有特定字段才能Õ吩诵Р有审核功能  个人和Æ笠禒  //
  /                                                       //
  //

  
/** 
   * 取符合条件记录总数, [表中要有 isperson isAuditing 字段] 
   * 
@return int 
   * 
@param int isPerson,int isAuditing 
   
*/
 

  
public int getObjectsCountByIsperson(int isPerson, int isAuditing) throws 
      Exception 

    
int count = 0

    count 
= ((Integer) getHibernateTemplate().iterate( 
        
"select count(*) from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".isperson =" + isPerson + 
        
" and "+pojoClass.getName().toLowerCase()+".isauditing=" + isAuditing).next()).intValue(); 

    
return count; 
  }
 


  
/** 
   * 取所有符合条件记录集合, 模糊查询条件.[表中要有 isperson isAuditing 字段] 
   * 
@return Iterator 
   * 
@param int isPerson,int isAuditing 
   
*/
 

  
public Iterator getAllObjectsByIsperson(int isPerson, int isAuditing) throws 
      Exception 

    Iterator iterator 
= null
    String queryString 
= " select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".isperson =" + 
                         isPerson 
+ " and "+pojoClass.getName().toLowerCase()+".isauditing=" + isAuditing + 
                         
" order by "+pojoClass.getName().toLowerCase()+".id desc"

    Query query 
= getHibernateTemplate().createQuery(getSession(), queryString); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 

    
return iterator; 
  }
 


  
/** 
   * 取符合条件记录集合, 模糊查询条件.[表中要有 isperson isAuditing 字段] 
   * 
@return Iterator 
   * 
@param int isPerson,int position, int length,int isAuditing 
   
*/
 

  
public Iterator getObjectsByIsperson(int isPerson, int position, int length, 
                                     
int isAuditing) throws Exception 
    Iterator iterator 
= null
    String queryString 
= " select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".isperson =" + 
                         isPerson 
+ " and "+pojoClass.getName().toLowerCase()+".isauditing=" + isAuditing + 
                         
" order by "+pojoClass.getName().toLowerCase()+".id desc"

    Query query 
= getHibernateTemplate().createQuery(getSession(), queryString); 
    
//设置游标的起始点 
    query.setFirstResult(position); 
    
//设置游标的长度 
    query.setMaxResults(length); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 

    
return iterator; 

  }
 


  
 
  /                                                //
  / 要有特定字段才能Õ吩诵袪  有审核功能    查询部份    //
  /                                                //
  //
  /** 
   * 取符合条件记录总数, 模糊查询条件.[表中要有 title 字段] 
   * 
@return int 
   * 
@param String text,int isAuditing 
   
*/
 
  
public int getObjectsCount(String text, int isAuditing) throws Exception 
    
int count = 0

    count 
= ((Integer) getHibernateTemplate().iterate( 
        
"select count(*) from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".isauditing=" + 
        isAuditing 
+ " and "+pojoClass.getName().toLowerCase()+".title like '%" + text + "%'").next()). 
            intValue(); 

    
return count; 
  }
 


  
/** 
   * 取所有符合条件记录集合, 模糊查询条件.[表中要有 title 字段] 
   * 
@return Iterator 
   * 
@param String text,int isAuditing 
   
*/
 

  
public Iterator getAllObjects(String text, int isAuditing) throws Exception 
    Iterator iterator 
= null
    String queryString 
= 
        
" select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".isauditing=" + isAuditing + 
        
" and "+pojoClass.getName().toLowerCase()+".title like '%" + text + "%' order by "+pojoClass.getName().toLowerCase()+".id desc"

    Query query 
= getHibernateTemplate().createQuery(getSession(), queryString); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 

    
return iterator; 
  }
 


  
/** 
   * 取符合条件记录集合, 模糊查询条件.[表中要有 title 字段] 
   * 
@return Iterator 
   * 
@param String text,int position, int length,int isAuditing 
   
*/
 
  
public Iterator getObjects(String text, int position, int length, 
                           
int isAuditing) throws Exception 
    Iterator iterator 
= null
    String queryString 
= 
        
" select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".isauditing=" + isAuditing + 
        
" and "+pojoClass.getName().toLowerCase()+".title like '%" + text + "%' order by "+pojoClass.getName().toLowerCase()+".id desc"

    
//创建查询 
    Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
    
//设置游标的起始点 
    query.setFirstResult(position); 
    
//设置游标的长度 
    query.setMaxResults(length); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 

    
return iterator; 
  }
 


  
 
  /                                                //
  / 要有特定字段才能Õ吩诵袪  有审核功能  注册相关      //
  /                                                //
   

  
/** 
   * 取符合条件记录总数.[ 表中要有 registername isauditing字段] 
   * 
@return int 
   * 
@param String text,int isAuditing 
   
*/
 
  
public int getObjectsCountByRegisterName(String registerName, int isAuditing) throws 
      Exception 

    
int count = 0

    count 
= ((Integer) getHibernateTemplate().iterate( 
        
"select count(*) from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".isauditing=" + 
        isAuditing 
+ " and "+pojoClass.getName().toLowerCase()+".registername = '" + registerName + "'").next()). 
            intValue(); 

    
return count; 
  }
 


  
/** 
   * 通过注册名取得一条记录,如有多条,只取第一条.[表中要有 registername isauditing字段] 
   * 
@param registername String,int isAuditing 
   * 
@return Object 
   
*/
 
  
public Object getObjectByRegisterName(String registerName, int isAuditing) throws 
      Exception 

    Iterator iterator 
= null
    Object object 
= null

    String queryString 
= 
        
" select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".isauditing=" + isAuditing + 
        
" and "+pojoClass.getName().toLowerCase()+".registername='" + registerName + "' order by "+pojoClass.getName().toLowerCase()+".id desc"

    Query query 
= getHibernateTemplate().createQuery(getSession(), queryString); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 
    
if (iterator.hasNext()) 
      object 
= (Object) iterator.next(); 
    }
 

    
return object; 
  }
 


  
/** 
   * 通过注册名取得所有记录集合.[表中要有 registername isauditing字段] 
   * 
@param registername String,int isAuditing 
   * 
@return Iterator 
   
*/
 
  
public Iterator getAllObjectsByRegisterName(String registerName, int isAuditing) throws 
      Exception 

    Iterator iterator 
= null

    String queryString 
= 
        
" select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".isauditing=" + isAuditing + 
        
" and "+pojoClass.getName().toLowerCase()+".registername='" + registerName + "' order by "+pojoClass.getName().toLowerCase()+".id desc"

    Query query 
= getHibernateTemplate().createQuery(getSession(), queryString); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 

    
return iterator; 
  }
 


  
/** 
   * 通过注册名取得记录列表.[表中要有 registername isauditing字段] 
   * 
@param registername String,int isAuditing 
   * 
@return Iterator 
   
*/
 
  
public Iterator getObjectsByRegisterName(String registerName, int position, 
                                         
int length, int isAuditing) throws 
      Exception 

    Iterator iterator 
= null
    String queryString 
= 
        
" select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".isauditing=" + isAuditing + 
        
" and "+pojoClass.getName().toLowerCase()+".registername='" + registerName + "' order by "+pojoClass.getName().toLowerCase()+".id desc"

    
//创建查询 
    Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
    
//设置游标的起始点 
    query.setFirstResult(position); 
    
//设置游标的长度 
    query.setMaxResults(length); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 

    
return iterator; 
  }
 


  
 
  /                                                //
  / 要有特定字段才能Õ吩诵袪  有审核功能 树型版块       //
  /                                                //
   

  
/** 
   * 取记录总数.[ 表中要有 board_id isauditing字段] 
   * 
@return int 
   * 
@param String boardId,int isAuditing 
   
*/
 
  
public int getObjectsCountByBoard(String boardId, int isAuditing) throws 
      Exception 

    
int count = 0

    count 
= ((Integer) getHibernateTemplate().iterate( 
        
"select count(*) from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".isauditing=" + 
        isAuditing 
+ " and "+pojoClass.getName().toLowerCase()+".boardId = '" + boardId + "'").next()).intValue(); 

    
return count; 
  }
 


  
/** 
   * 通过版块名取得所有记录集合.[表中要有 board_id isauditing字段] 
   * 
@param BoardId String,int isAuditing 
   * 
@return Iterator 
   
*/
 
  
public Iterator getAllObjectsByBoard(String boardId, int isAuditing) throws 
      Exception 

    Iterator iterator 
= null

    String queryString 
= 
        
" select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".isauditing=" + isAuditing + 
        
" and "+pojoClass.getName().toLowerCase()+".boardId='" + boardId + "' order by "+pojoClass.getName().toLowerCase()+".id desc"

    Query query 
= getHibernateTemplate().createQuery(getSession(), queryString); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 
    
return iterator; 
  }
 


  
/** 
   * 通过版块名取得记录列表.[表中要有 board_id isauditing字段] 
   * 
@param BoardId String,int isAuditing 
   * 
@return Iterator 
   
*/
 
  
public Iterator getObjectsByBoard(String boardId, int position, int length, 
                                  
int isAuditing) throws Exception 
    Iterator iterator 
= null
    String queryString 
= 
        
" select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".isauditing=" + isAuditing + 
        
" and "+pojoClass.getName().toLowerCase()+".boardId='" + boardId + "' order by "+pojoClass.getName().toLowerCase()+".id desc"

    
//创建查询 
    Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
    
//设置游标的起始点 
    query.setFirstResult(position); 
    
//设置游标的长度 
    query.setMaxResults(length); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 

    
return iterator; 

  }
 


  
/** 
   * 取符合条件记录总数.[ 表中要有 board_id isauditing字段,title]  模糊查询title 
   * 
@return int 
   * 
@param String boardId ,String text,int isAuditing 
   
*/
 
  
public int getObjectsCountByBoard(String boardId, String text, int isAuditing) throws 
      Exception 

    
int count = 0

    count 
= ((Integer) getHibernateTemplate().iterate( 
        
"select count(*) from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".isauditing=" + 
        isAuditing 
+ " and "+pojoClass.getName().toLowerCase()+".boardId='" + boardId + 
        
"' and "+pojoClass.getName().toLowerCase()+".title like '%" + 
        text 
+ "%'").next()).intValue(); 

    
return count; 

  }
 


  
/** 
   * 通过版块名取得记录列表.[表中要有 board_id字段 isauditing]  模糊查询title 
   * 
@param String boardId,int position, int length,int isAuditing 
   * 
@return Iterator 
   
*/
 
  
public Iterator getObjectsByBoard(String boardId, int position, int length, 
                                  String text, 
int isAuditing) throws Exception 
    Iterator iterator 
= null
    String queryString 
= 
        
" select "+pojoClass.getName().toLowerCase()+" from "+pojoClass.getName()+" as "+pojoClass.getName().toLowerCase()+" where "+pojoClass.getName().toLowerCase()+".isauditing=" + isAuditing + 
        
" and "+pojoClass.getName().toLowerCase()+".boardId='" + boardId + "' and "+pojoClass.getName().toLowerCase()+".title like '%" + text + 
        
"%' order by "+pojoClass.getName().toLowerCase()+".id desc"

    
//创建查询 
    Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
    
//设置游标的起始点 
    query.setFirstResult(position); 
    
//设置游标的长度 
    query.setMaxResults(length); 
    
//记录生成 
    List list = query.list(); 
    
//把查询到的结果放入迭代器 
    iterator = list.iterator(); 

    
return iterator; 

  }
 

    
/** 
     * 设置DAO操作的POJO类 
     * 
@param pojoObject Object 
    
*/
 
    
public void init(Class pojoClass) 
        
this.pojoClass = pojoClass; 
    }
 


}
 



JUNIT测试类

java代码:


package common.dao;

import junit.framework.*;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import net.sf.hibernate.HibernateException;

import oa.pojo.*;
/**
* <p>Title: OA1.0</p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2004</p>
*
* <p>Company: </p>
*
* @author 段洪杰
* @version 1.0
*/
public class TestBaseDAOImpl extends TestCase {
    private IBaseDAO baseDAO = null;
    private ApplicationContext ac;


    protected void setUp() throws Exception {
        super.setUp();
        ac = new FileSystemXmlApplicationContext("F:/jbproject/oa_1_0/web/WEB-INF/applicationContext-hibernate.xml");
        baseDAO =(BaseDAOImpl) ac.getBean("baseDAO");
    }

    protected void tearDown() throws Exception {  
        super.tearDown();
    }
  
    public void testSetObject()  throws Exception{
      Cart cart=new Cart();
      cart.setBoardId("root");
      cart.setTitle("dhj测试");
      cart.setMessage("内容!");
      cart.setRegisterName("dhj");
      cart.setCount(new java.lang.Integer(10));
      cart.setCreateDate(new java.util.Date());
      cart.setOutDate(new java.util.Date());
      
      baseDAO.setObject(cart);
      
      User user=new User();
      user.setRegisterName("yx");
      user.setCreateDate(new java.util.Date());
      user.setOutDate(new java.util.Date());
      baseDAO.setObject(user);

      // assertEquals("return value", expectedReturn, actualReturn);
    }
    public void testgetObjectById()  throws Exception{
      Cart cart=new Cart();
      baseDAO.init(cart.getClass());
      cart=(Cart)baseDAO.getObjectById("40288548ffba056100ffba0564bd0001");

      User user=new User();
      baseDAO.init(user.getClass());
      user=(User)baseDAO.getObjectById("40288548ffba056100ffba0564dc0002");

      assertEquals("return value", "张-----------", cart.getTitle());
      assertEquals("return value", "dhj修改", user.getRegisterName());
    }
    public void testModifyObject()  throws Exception{
          Cart cart=new Cart();
          baseDAO.init(cart.getClass());
          cart=(Cart)baseDAO.getObjectById("40288548ffba01a300ffba01a6ab0001");
          cart.setTitle("修改成功");
          baseDAO.modifyObject(cart);
          
          
          User user=new User();
          baseDAO.init(user.getClass());
          user=(User)baseDAO.getObjectById("40288548ffba056100ffba0564dc0002");
          user.setRegisterName("dhj修改");
          baseDAO.modifyObject(user);
          //assertEquals("return value", "张-----------", cart.getTitle());
         // assertEquals("return value", "dhj", user.getRegisterName());
    }
  /*
    public void testRemoveObject()  throws Exception{
       Cart cart=new Cart();
       baseDAO.init(cart.getClass());
       cart=(Cart)baseDAO.getObjectById("40288548ffba5e8100ffba5e84790001");
       baseDAO.removeObject(cart);


       User user=new User();
       baseDAO.init(user.getClass());
       user=(User)baseDAO.getObjectById("40288548ffba5e8100ffba5e84a80002");
       baseDAO.removeObject(user);
       //assertEquals("return value", "张-----------", cart.getTitle());
      // assertEquals("return value", "dhj", user.getRegisterName());
}
*/
    public void testGetObjectsCount() throws Exception{
  
        int cartCount = 0;
        Cart cart = new Cart();
        baseDAO.init(cart.getClass());
        
        cartCount = baseDAO.getObjectsCount();
  
        int userCount = 0;
        User user = new User();
        baseDAO.init(user.getClass());
        userCount = baseDAO.getObjectsCount();
  
        assertEquals("return value", "0", cartCount+"");
        assertEquals("return value", "0", userCount+"");
    }
    
}
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值