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

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

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

    posts - 0,  comments - 17,  trackbacks - 0
    引用"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;

      }

    posted on 2008-02-27 15:44 xyz 閱讀(418) 評論(0)  編輯  收藏 所屬分類: 網絡文摘

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    留言簿

    隨筆檔案(1)

    文章分類(44)

    文章檔案(46)

    收藏夾(1)

    Adobe

    AOP

    API

    appServer

    BI

    c

    • c-free
    • codeblocks
    • codelite
    • CodeLite IDE 是一個強大的開源,跨平臺的 C/C++整合開發環境. 支持包括 Windows、Linux 和 Mac 系統下運行
    • codelite官網
    • dev-c++
    • Dev-C++是一個C&C++開發工具,它是一款自由軟件,遵守GPL協議。
    • GCC
    • GCC 原名為 GNU C 語言編譯器(GNU C Compiler),因為它原本只能處理 C語言。GCC 很快地擴展,變得可處理 C++。之后也變得可處理 Fortran、Pascal、Objective-C、Java, 以及 Ada 與其他語言。

    Cache

    CMS

    DB

    eclipse

    FreeMarker

    hibernate

    html5

    ibatis

    java

    jquery

    js

    json

    Linux

    Log

    mail server

    mobile

    mysql

    oauth

    openID

    other

    PHP

    portal

    report

    Scheduler

    schema

    Security

    SOA

    spring

    struts

    UI原型設計

    w3c

    Wap

    webservice

    xml

    供應鏈管理

    博客鏈接

    好網站

    工作流

    開源網

    招聘

    插件下載

    操作系統

    構建可伸縮的系統

    構建工具

    測試

    • IETest
    • IE官網
    • OpenSTA
    • Siege
    • Siege是一個壓力測試和評測工具,設計用于WEB開發這評估應用在壓力下的承受能力

    游戲

    源碼托管

    經營

    資源

    金融/財務

    搜索

    •  

    最新評論

    主站蜘蛛池模板: 亚洲国产综合自在线另类| 91在线手机精品免费观看| 亚洲爆乳少妇无码激情| 亚洲精品福利网泷泽萝拉| 国外亚洲成AV人片在线观看 | 亚洲国产精品成人久久| 男女交性永久免费视频播放 | 亚洲一级毛片免观看| 亚洲精品亚洲人成在线观看| 免费一级毛片在线观看| 最近免费中文字幕大全视频 | 亚洲制服中文字幕第一区| 亚洲人成无码www久久久| 国产精品无码素人福利免费| 在线观看AV片永久免费| 久久久久av无码免费网 | 中文字幕亚洲精品资源网| 精品国产亚洲一区二区三区| 亚洲成a人片在线观看日本麻豆| 国产免费资源高清小视频在线观看| 69成人免费视频| 国产成在线观看免费视频| 99热在线免费播放| 99久9在线|免费| 91精品免费高清在线| 亚洲精品免费在线| 亚洲一级毛片免费观看| 免费专区丝袜脚调教视频| 黄+色+性+人免费| 中文字幕乱码免费视频| 九九九精品成人免费视频| 大地资源二在线观看免费高清| 日韩精品成人无码专区免费| AV大片在线无码永久免费| 成人免费视频77777| 成年私人影院免费视频网站| 看全色黄大色大片免费久久| 波多野结衣视频在线免费观看| 四虎永久在线精品免费观看地址| 可以免费观看一级毛片黄a | 一本大道一卡二大卡三卡免费|