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

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

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

    Sealyu

    --- 博客已遷移至: http://www.sealyu.com/blog

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks

    在前一篇日志中自動生成hibernate配置文件的時候,會在dao層用到getSession()方法來操作數(shù)據(jù)庫記錄,但是他還有個方法getHibernateTemplate(),這兩個方法究竟有什么區(qū)別呢?

    1.使用getSession()方法你只要繼承sessionFactory,而使用getHibernateTemplate()方法必須繼承 HibernateDaoSupport當(dāng)然包括sessionFactory,這點區(qū)別都不是特別重要的,下面這些區(qū)別就很重要了

    2.getSession()方法是沒有經(jīng)過spring包裝的,spring會把最原始的session給你,在使用完之后必須自己調(diào)用相應(yīng)的 close方法,而且也不會對聲明式事務(wù)進(jìn)行相應(yīng)的管理,一旦沒有及時關(guān)閉連接,就會導(dǎo)致數(shù)據(jù)庫連接池的連接數(shù)溢 出,getHibernateTemplate()方法是經(jīng)過spring封裝的,例如添加相應(yīng)的聲明式事務(wù)管理,由spring管理相應(yīng)的連接。

    在實際的使用過程中發(fā)現(xiàn)的確getHibernateTemplate()比getSession()方法要好很多,但是有些方法在getHibernateTemplate()并沒有提供,這時我們用HibernateCallback 回調(diào)的方法管理數(shù)據(jù)庫.

    例如如下代碼:

    /**
         * 使用 hql 語句進(jìn)行操作
         * @param hql HSQL 查詢語句(使用回調(diào)函數(shù)訪問外部變量,必須是final的)
         * @param offset 開始取數(shù)據(jù)的下標(biāo)
        * @param length 讀取數(shù)據(jù)記錄數(shù)
        * @return List 結(jié)果集
    */
    public List getListForPage ( final String hql , final int offset , final int length ) {

                  List list = getHibernateTemplate().executeFind ( new HibernateCallback ( ) {
                                public Object doInHibernate ( Session session ) throws HibernateException, SQLException {
                                                Query query = session.createQuery ( hql ) ;
                                                query.setFirstResult ( offset ) ;
                                                query.setMaxResults ( length ) ;
                                                List list = query.list ( ) ;
                                                return list ;
                               }
                   }) ;
                   return list ;
    }

    posted on 2010-02-22 16:43 seal 閱讀(451) 評論(0)  編輯  收藏 所屬分類: SpringHibernate
    主站蜘蛛池模板: 亚洲人av高清无码| 亚洲网站在线观看| 亚洲色大成WWW亚洲女子| 亚洲一区在线免费观看| 亚洲av日韩av高潮潮喷无码| 99精品免费视品| 亚洲精品狼友在线播放| 中文字幕永久免费| 亚洲欧洲∨国产一区二区三区| 三根一起会坏掉的好痛免费三级全黄的视频在线观看 | 18禁超污无遮挡无码免费网站国产| 亚洲精品福利网站| 永久免费视频网站在线观看| 亚洲午夜国产精品| 97在线线免费观看视频在线观看| 亚洲人成小说网站色| 国产又黄又爽又猛的免费视频播放| 激情小说亚洲色图| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 成年女人午夜毛片免费视频| 亚洲人成网亚洲欧洲无码| 日韩人妻无码免费视频一区二区三区| 亚洲精品亚洲人成在线| 亚洲精品国产高清不卡在线| 美女在线视频观看影院免费天天看| 久久精品a亚洲国产v高清不卡| 青春禁区视频在线观看直播免费| 自拍偷自拍亚洲精品偷一| 亚洲无码黄色网址| 91免费人成网站在线观看18| 亚洲日韩久久综合中文字幕| 四虎精品亚洲一区二区三区| 日本视频免费高清一本18| 456亚洲人成影院在线观| 亚洲男人在线无码视频| 51精品视频免费国产专区| 亚洲gay片在线gv网站| 国产亚洲精品无码成人| 在线观看视频免费完整版| 久久久久女教师免费一区| 亚洲人成在线免费观看|