<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: 博客園 模板提供:滬江博客


       觀音菩薩贊

    主站蜘蛛池模板: 免费国产作爱视频网站| 国产亚洲精品成人AA片新蒲金| 女人18一级毛片免费观看| 国产又黄又爽又刺激的免费网址 | 亚洲精品午夜国产VA久久成人| 亚洲色图在线播放| 亚洲精品国产高清在线观看| a级毛片免费在线观看| 在线免费观看毛片网站| 中文字幕无码精品亚洲资源网久久| 中文字幕无线码免费人妻| 成年女人免费视频播放77777 | 亚洲AV综合色区无码另类小说 | 亚洲人成7777影视在线观看| 免费一级毛片在线播放视频免费观看永久| 日韩视频在线观看免费| 亚洲性日韩精品一区二区三区| 亚洲天堂一区二区三区| 青青操免费在线观看| 亚洲av无码一区二区乱子伦as| 每天更新的免费av片在线观看 | 国产精品亚洲w码日韩中文| 精品久久久久久国产免费了| 日本免费人成黄页网观看视频| 亚洲精品美女在线观看播放| 最近免费中文字幕MV在线视频3| 免费人成视频在线观看视频| 亚洲天堂2017无码中文| 99久久99久久精品免费观看| 亚洲日本一区二区三区在线| 四虎国产精品成人免费久久| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 亚洲精品国产精品国自产观看| 亚洲中文字幕无码久久2020| 91成人免费在线视频| 亚洲日本视频在线观看| 日美韩电影免费看| A级毛片高清免费视频在线播放| 亚洲欧洲校园自拍都市| 又粗又硬免费毛片| 久久免费观看国产99精品|