<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 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks

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

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

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

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

    例如如下代碼:

    /**
         * 使用 hql 語句進行操作
         * @param hql HSQL 查詢語句(使用回調函數訪問外部變量,必須是final的)
         * @param offset 開始取數據的下標
        * @param length 讀取數據記錄數
        * @return List 結果集
    */
    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免费网址| 久久精品成人免费观看97| 亚洲精品自偷自拍无码| 亚洲一区二区影院| 中文亚洲AV片在线观看不卡| 国产免费人成在线视频| 国产精品成人免费视频网站京东| 一级毛片免费毛片一级毛片免费 | 三年片在线观看免费观看大全动漫 | 伊人久久综在合线亚洲91| 青青青青青青久久久免费观看| 中文字幕在线免费观看| 成人免费区一区二区三区| v片免费在线观看| 亚洲AV无码XXX麻豆艾秋| 狠狠色香婷婷久久亚洲精品| 伊人久久综在合线亚洲2019| 亚洲国产一区国产亚洲| 国产亚洲3p无码一区二区| 国产91精品一区二区麻豆亚洲 | 亚洲欧洲日韩极速播放| 亚洲成a人片在线观| 亚洲资源在线观看| 亚洲gv猛男gv无码男同短文| 水蜜桃视频在线观看免费播放高清| 亚洲av无码专区在线观看下载| 亚洲中文字幕乱码AV波多JI| 亚洲一区二区久久| 亚洲熟妇无码AV| 亚洲中文字幕无码中文字| 亚洲中文字幕无码mv| 在线aⅴ亚洲中文字幕| 亚洲 欧洲 视频 伦小说| 中文文字幕文字幕亚洲色| 亚洲an日韩专区在线| 亚洲高清中文字幕免费| 亚洲综合精品伊人久久| 亚洲.国产.欧美一区二区三区| 国产亚洲欧美日韩亚洲中文色|