<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    軟件藝術思考者  
    混沌,彷徨,立志,蓄勢...
    公告
    日歷
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    隨筆分類(86)

    隨筆檔案(85)

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

     
    ?
    引用"Spring"手冊上的話說: Hibernate+Spring顯然是天生的結合.

    下面是我用spring處理的一個HibernateDAO實例,可以看到,代碼量大大減少了.

    java代碼:?


    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{
    ???
    posted on 2006-07-25 11:23 智者無疆 閱讀(623) 評論(0)  編輯  收藏 所屬分類: about hibernateabout spring
     
    Copyright © 智者無疆 Powered by: 博客園 模板提供:滬江博客


       觀音菩薩贊

    主站蜘蛛池模板: 国产午夜不卡AV免费| 东北美女野外bbwbbw免费| 57pao国产成视频免费播放| 亚洲成在人天堂在线| 91久久青青草原线免费| 亚洲视频精品在线观看| 四虎在线视频免费观看视频| 亚洲国产成+人+综合| 全免费毛片在线播放| 亚洲日本久久一区二区va| 日韩精品无码区免费专区| 亚洲AV无码一区二区三区网址| 免费看美女被靠到爽| 美女被爆羞羞网站在免费观看| 日韩亚洲国产综合久久久| sss日本免费完整版在线观看| 久久亚洲精品中文字幕三区| 嫩草成人永久免费观看| 亚洲美女免费视频| 成年女人午夜毛片免费视频| 日本系列1页亚洲系列| 国产亚洲美日韩AV中文字幕无码成人| 成人无码a级毛片免费| 亚洲男女一区二区三区| 特级淫片国产免费高清视频| 一级黄色免费毛片| 亚洲精品综合久久中文字幕| 国产精品酒店视频免费看| 91视频免费观看| 亚洲一区在线免费观看| 免费在线观看一级毛片| 日韩电影免费观看| 亚洲午夜无码久久久久软件| 久久久久一级精品亚洲国产成人综合AV区| a级片在线免费看| 四虎亚洲精品高清在线观看| 亚洲综合国产一区二区三区| 四虎免费影院ww4164h| 免费大片av手机看片高清| 亚洲欧洲日产国码在线观看| 亚洲?V无码成人精品区日韩 |