package infoweb.dao;
import java.util.List; import java.util.Iterator;
import infoweb.pojo.Info;
import net.sf.hibernate.HibernateException; import net.sf.hibernate.Query; import net.sf.hibernate.Session;
import org.springframework.orm.hibernate.HibernateCallback; import org.springframework.orm.hibernate.support.HibernateDaoSupport;
/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2004</p> * <p>Company: </p> * @author 段洪杰 * @version 1.0 */
publicclass InfoDAOImpl extends HibernateDaoSupport implements IInfoDAO { ? /** ? ?* 構造函數 ? ?*/ ? public InfoDAOImpl(){ ??? super(); ? }
? /** ? ?* 增加記錄 ? ?* @param info Info ? ?*/ ? publicvoid setInfo(Info info)throwsException{ ??? getHibernateTemplate().save(info); ? }
? /** ? ?* 通過ID取得記錄 ? ?* @param id String ? ?* @return Info ? ?*/ ? public Info getInfoById(String id)throwsException{ ??? Info info = (Info) getHibernateTemplate().load(Info.class, id); ??? return info; ? }
? /** ? ?* 修改記錄 ? ?* @param Info info ? ?*/ ? publicvoid modifyInfo(Info info)throwsException{ ??? getHibernateTemplate().update(info); ? }
? /** ? ?* 刪除記錄 ? ?* @param Info info ? ?*/ ? publicvoid removeInfo(Info info)throwsException{ ??? getHibernateTemplate().delete(info); ? }
? //////////////////////////////////////////////////////// ? /////??????????????????????????????????????????????? /// ? /////以下部份不帶審核功能????????????????????????????? /// ? /////??????????????????????????????????????????????? /// ? ////////////////////////////////////////////////////////
? /** ? ?* 取記錄總數 ? ?* @return int ? ?*/ ? publicint getInfosCount()throwsException{ ??? int count = 0; ??? String queryString = "select count(*) from Info"; ??? count = ((Integer) getHibernateTemplate().iterate(queryString).next()). ??????????? intValue(); ??? return count; ? }
? /** ? ?* 取所有記錄集合 ? ?* @return Iterator ? ?*/ ? publicIterator getAllInfos()throwsException{ ??? Iterator iterator = null; ??? String queryString = " select info from Info as info order by info.id desc"; ??? List list = getHibernateTemplate().find(queryString); ??? iterator = list.iterator(); ??? return iterator; ? }
? /** ? ?* 取記錄集合 ? ?* @return Iterator ? ?* @param int position, int length ? ?*/ ? publicIterator getInfos(int position, int length)throwsException{ ??? Iterator iterator = null; ??? String queryString = " select info from Info as info order by info.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 Info getFirstInfo()throwsException{ ??? Iterator iterator = null; ??? Info info = null; ??? String queryString = "select info from Info as info order by info.id desc"; ??? Query query = getHibernateTemplate().createQuery(getSession(), queryString); ??? //記錄生成 ??? List list = query.list(); ??? //把查詢到的結果放入迭代器 ??? iterator = list.iterator(); ??? if(iterator.hasNext()){ ????? info = (Info) iterator.next(); ??? } ??? return info; ? }
? /** ? ?* 取最后一條記錄 ? ?* @throws Exception ? ?* @return Station ? ?*/ ? public Info getLastInfo()throwsException{ ??? Iterator iterator = null; ??? Info info = null; ??? String queryString = "select info from Info as info order by info.id asc"; ??? Query query = getHibernateTemplate().createQuery(getSession(), queryString); ??? //記錄生成 ??? List list = query.list(); ??? //把查詢到的結果放入迭代器 ??? iterator = list.iterator(); ??? if(iterator.hasNext()){ ????? info = (Info) iterator.next(); ??? } ??? return info;
? }
? //////////////////////////////////////////////////////// ? /////??????????????????????????????????????????????? /// ? ///// 以下部份表中要有特定字段才能?吩誦袪 牳鋈撕推笠禒 ? ?/// ? /////??????????????????????????????????????????????? /// ? ////////////////////////////////////////////////////////
? /** ? ?* 取符合條件記錄總數, [表中要有 isperson 字段] ? ?* @return int ? ?* @param int isPerson ? ?*/
? publicint getInfosCountByIsperson(int isPerson)throwsException{ ??? int count = 0; ??? String queryString = ??????? "select count(*) from Info as info where info.isperson =" + isPerson; ??? count = ((Integer) getHibernateTemplate().iterate(queryString).next()). ??????????? intValue(); ??? return count; ? }
? /** ? ?* 取所有符合條件記錄集合, 模糊查詢條件.[表中要有 isperson 字段] ? ?* @return Iterator ? ?* @param int isPerson ? ?*/
? publicIterator getAllInfosByIsperson(int isPerson)throwsException{ ??? Iterator iterator = null; ??? String queryString = " select info from Info as info where info.isperson =" + ??????????????????????? ?isPerson + " order by info.id desc"; ??? List list = getHibernateTemplate().find(queryString); ??? //把查詢到的結果放入迭代器 ??? iterator = list.iterator(); ??? return iterator; ? }
? /** ? ?* 取符合條件記錄集合, 模糊查詢條件.[表中要有 isperson 字段] ? ?* @return Iterator ? ?* @param int isPerson,int position, int length ? ?*/
? publicIterator getInfosByIsperson(int isPerson, int position, int length)throws ????? Exception{ ??? Iterator iterator = null; ??? String queryString = " select info from Info as info where info.isperson =" + ??????????????????????? ?isPerson + " order by info.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 ? ?*/ ? publicint getInfosCount(String text)throwsException{ ??? int count = 0; ??? count = ((Integer) getHibernateTemplate().iterate( ??????? "select count(*) from Info as info where info.title like '%" + text + ??????? "%'").next()).intValue(); ??? return count; ? }
? /** ? ?* 取所有符合條件記錄集合, 模糊查詢條件.[表中要有 title 字段] ? ?* @return Iterator ? ?* @param String text ? ?*/
? publicIterator getAllInfos(String text)throwsException{ ??? Iterator iterator = null; ??? String queryString = ??????? " select info from Info as info where info.title like '%" + text + ??????? "%' order by info.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 ? ?*/ ? publicIterator getInfos(String text, int position, int length)throws ????? Exception{ ??? Iterator iterator = null; ??? String queryString = ??????? " select info from Info as info where info.title like '%" + text + ??????? "%' order by info.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 ? ?*/ ? publicint getInfosCountByRegisterName(String registerName)throwsException{ ??? int count = 0; ??? count = ((Integer) getHibernateTemplate().iterate( ??????? "select count(*) from Info as info where info.registername = '" + ??????? registerName + "'").next()).intValue(); ??? return count; ? }
? /** ? ?* 通過注冊名取得一條記錄,如有多條,只取第一條.[表中要有 registername字段] ? ?* @param registername String ? ?* @return Info ? ?*/ ? public Info getInfoByRegisterName(String registerName)throwsException{ ??? Iterator iterator = null; ??? Info info = null; ??? String queryString = ??????? " select info from Info as info where info.registername='" + ??????? registerName + "' order by info.id desc"; ??? //創建查詢 ??? Query query = getHibernateTemplate().createQuery(getSession(), queryString); ??? //記錄生成 ??? List list = query.list(); ??? //把查詢到的結果放入迭代器 ??? iterator = list.iterator(); ??? if(iterator.hasNext()){ ????? info = (Info) iterator.next(); ??? } ??? return info; ? }
? /** ? ?* 通過注冊名取得所有記錄集合.[表中要有 registername字段] ? ?* @param registername String ? ?* @return Iterator ? ?*/ ? publicIterator getAllInfosByRegisterName(String registerName)throws ????? Exception{ ??? Iterator iterator = null; ??? String queryString = ??????? " select info from Info as info where info.registername='" + ??????? registerName + "' order by info.id desc"; ??? //創建查詢 ??? Query query = getHibernateTemplate().createQuery(getSession(), queryString); ??? //記錄生成 ??? List list = query.list(); ??? //把查詢到的結果放入迭代器 ??? iterator = list.iterator(); ??? return iterator; ? }
? /** ? ?* 通過注冊名取得記錄列表.[表中要有 registername字段] ? ?* @param registername String ? ?* @return Iterator ? ?*/ ? publicIterator getInfosByRegisterName(String registerName, int position, ??????????????????????????????????????? ?int length)throwsException{ ??? Iterator iterator = null; ??? String queryString = ??????? " select info from Info as info where info.registername='" + ??????? registerName + "' order by info.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 ? ?*/ ? publicint getInfosCountByBoard(String boardId)throwsException{ ??? int count = 0;
??? count = ((Integer) getHibernateTemplate().iterate( ??????? "select count(*) from Info as info where info.boardId = '" + boardId + ??????? "'").next()).intValue();
??? return count; ? }
? /** ? ?* 通過版塊名取得所有記錄集合.[表中要有 board_id字段] ? ?* @param BoardId String ? ?* @return Iterator ? ?*/ ? publicIterator getAllInfosByBoard(String boardId)throwsException{ ??? Iterator iterator = null; ??? String queryString = " select info from Info as info where info.boardId='" + ??????????????????????? ?boardId + "' order by info.id desc"; ??? //創建查詢 ??? Query query = getHibernateTemplate().createQuery(getSession(), queryString); ??? //記錄生成 ??? List list = query.list(); ??? //把查詢到的結果放入迭代器 ??? iterator = list.iterator(); ??? return iterator; ? }
? /** ? ?* 通過版塊名取得記錄列表.[表中要有 board_id字段] ? ?* @param BoardId String ? ?* @return Iterator ? ?*/ ? publicIterator getInfosByBoard(String boardId, int position, int length)throws ????? Exception{ ??? Iterator iterator = null; ??? String queryString = " select info from Info as info where info.boardId='" + ??????????????????????? ?boardId + "' order by info.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 ? ?*/ ? publicint getInfosCountByBoard(String boardId, String text)throwsException{ ??? int count = 0;
??? count = ((Integer) getHibernateTemplate().iterate( ??????? "select count(*) from Info as info where info.boardId='" + boardId + ??????? "' and info.title like '%" + text + "%'").next()).intValue();
??? return count;
? }
? /** ? ?* 通過版塊名取得記錄列表.[表中要有 board_id字段]? 模糊查詢title ? ?* @param String boardID,int position, int length ? ?* @return Iterator ? ?*/ ? publicIterator getInfosByBoard(String boardId, int position, int length, ????????????????????????????????? String text)throwsException{ ??? Iterator iterator = null; ??? String queryString = " select info from Info as info where info.boardId='" + ??????????????????????? ?boardId + "' and info.title like '%" + text + ??????????????????????? ?"%' order by info.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 ? ?*/ ? publicint getInfosCount(int isAuditing)throwsException{ ???
|