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

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

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

    隨筆 - 6  文章 - 129  trackbacks - 0
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(14)

    隨筆檔案(6)

    文章分類(467)

    文章檔案(423)

    相冊

    收藏夾(18)

    JAVA

    搜索

    •  

    積分與排名

    • 積分 - 825769
    • 排名 - 49

    最新評論

    閱讀排行榜

    評論排行榜

    HibernateTemplate還提供一種更加靈活的方式來操作數據庫,通過這種方式可以完全使用Hibernate的操作方式。HibernateTemplate的靈活訪問方式是通過如下兩個方法完成:

    q      Object execute(HibernateCallback action)

    q      List execute(HibernateCallback action)

    這兩個方法都需要一個HibernateCallback的實例,HibernateCallback實例可在任何有效的Hibernate數據訪問中使用。程序開發者通過HibernateCallback,可以完全使用Hibernate靈活的方式來訪問數據庫,解決Spring封裝Hibernate后靈活性不足的缺陷。HibernateCallback是一個接口,該接口只有一個方法doInHibernate(org.hibernate.Session session),該方法只有一個參數Session

    通常,程序中采用實現HibernateCallback的匿名內部類來獲取HibernateCallback的實例,方法doInHibernate的方法體就是Spring執行的持久化操作。具體代碼如下:

    public class PersonDaoImpl implements PersonDao

    {

        //私有實例變量保存SessionFactory

             private SessionFactory sessionFactory;

             //依賴注入必須的setter方法

        public void setSessionFactory(SessionFactory sessionFactory)

             {

               this.sessionFactory = sessionFactory;

        }

             /**

              * 通過人名查找所有匹配該名的Person實例

              * @param name 匹配的人名

              * @return 匹配該任命的全部Person集合

              */

        public List findPersonsByName(final String name)

             {

               //創建HibernateTemplate實例

                       HibernateTemplate hibernateTemplate =

                             new HibernateTemplate(this.sessionFactory);

               //返回HibernateTemplateexecute的結果

                       return (List) hibernateTemplate.execute(

                    //創建匿名內部類

                       new HibernateCallback()

                       {

                  public Object doInHibernate(Session session) throws HibernateException

                                {

                       //使用條件查詢的方法返回

                                         List result = session.createCriteria(Person.class)

                                                                         .add(Restrictions.like(“name”, name+”%”)

                                                                               .list();

                                        return result;

                         }

                    });

        }

    }

    注意:方法doInHibernate方法內可以訪問Session,該Session對象是綁定到該線程的Session實例。該方法內的持久層操作,與不使用Spring時的持久層操作完全相同。這保證對于復雜的持久層訪問,依然可以使用Hibernate的訪問方式。



    posted on 2007-10-01 19:54 Ke 閱讀(3677) 評論(0)  編輯  收藏 所屬分類: hibernate
    主站蜘蛛池模板: 久久国产精品国产自线拍免费| 亚洲成AV人片在线观看WWW| 1000部无遮挡拍拍拍免费视频观看 | 亚洲AV无码国产在丝袜线观看| 一级毛片直播亚洲| 欧美大尺寸SUV免费| 91精品全国免费观看含羞草| 国产福利免费视频| 青草青草视频2免费观看| 亚洲s码欧洲m码吹潮| ass亚洲**毛茸茸pics| 亚洲精品在线不卡| 久久夜色精品国产亚洲AV动态图| 亚洲婷婷国产精品电影人久久| 国产精品无码一二区免费| 国产精品成人免费一区二区| 57pao国产成视频免费播放| 免费精品一区二区三区第35 | www国产亚洲精品久久久| 午夜免费不卡毛片完整版| 中文字幕无码视频手机免费看| 精品熟女少妇av免费久久| 99爱免费观看视频在线| 国产免费无码一区二区| 国产无遮挡裸体免费视频在线观看 | 日韩精品福利片午夜免费观着| 免费A级毛片无码A∨免费| 久久久久久成人毛片免费看| 黄网站免费在线观看| 男人的天堂网免费网站 | 久久精品亚洲综合| 国产亚洲综合成人91精品| 国产亚洲大尺度无码无码专线| 国产黄色一级毛片亚洲黄片大全| 亚洲日韩在线观看| 国产av无码专区亚洲av果冻传媒| 亚洲伊人色欲综合网| 亚洲第一极品精品无码久久| 亚洲国产成人久久综合一| 亚洲精品视频免费看| 亚洲最大成人网色香蕉|