代码随手写的,前半部份已测试通过,后半部份还没来得及测试:
由于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+""); } } |
本文介绍了一个基于Hibernate的DAO实现,包括增删改查等基本操作,并提供了针对不同查询需求的方法,如模糊查询、条件筛选等。



* <p>Title: </p> 


1040

被折叠的 条评论
为什么被折叠?



