<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

    搜索

    •  

    積分與排名

    • 積分 - 825594
    • 排名 - 49

    最新評論

    閱讀排行榜

    評論排行榜

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

    q      Object execute(HibernateCallback action)

    q      List execute(HibernateCallback action)

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

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

    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)

             {

               //創(chuàng)建HibernateTemplate實例

                       HibernateTemplate hibernateTemplate =

                             new HibernateTemplate(this.sessionFactory);

               //返回HibernateTemplateexecute的結(jié)果

                       return (List) hibernateTemplate.execute(

                    //創(chuàng)建匿名內(nèi)部類

                       new HibernateCallback()

                       {

                  public Object doInHibernate(Session session) throws HibernateException

                                {

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

                                         List result = session.createCriteria(Person.class)

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

                                                                               .list();

                                        return result;

                         }

                    });

        }

    }

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



    posted on 2007-10-01 19:54 Ke 閱讀(3677) 評論(0)  編輯  收藏 所屬分類: hibernate
    主站蜘蛛池模板: 亚洲 综合 国产 欧洲 丝袜| 好先生在线观看免费播放| 久久久亚洲精品蜜桃臀| 暖暖免费中文在线日本| 亚洲毛片不卡av在线播放一区| 日韩大片在线永久免费观看网站| 亚洲 自拍 另类小说综合图区| 一级毛片视频免费| 亚洲午夜福利717| 午夜免费福利片观看| 亚洲网站免费观看| 青春禁区视频在线观看直播免费| 亚洲日韩中文字幕一区| 国产一区在线观看免费| 精精国产www视频在线观看免费| 亚洲宅男天堂在线观看无病毒| 中文字幕无码日韩专区免费 | 高清在线亚洲精品国产二区| 国产成人+综合亚洲+天堂| 日韩亚洲国产二区| 99热在线日韩精品免费| 亚洲天堂一区二区三区四区| 国产精品免费观看久久| 免费的黄色网页在线免费观看| 亚洲人成在线播放网站| 最新黄色免费网站| 337p日本欧洲亚洲大胆人人| 中文字幕第一页亚洲| 3344永久在线观看视频免费首页| 亚洲日本VA午夜在线电影| 亚洲精品视频在线看| 国内精品免费视频精选在线观看 | 国产成人无码区免费网站| 亚洲美女大bbbbbbbbb| 日韩免费观看的一级毛片| 国产精品免费久久久久久久久| 亚洲国产综合91精品麻豆| 成人免费午间影院在线观看| 国产精品免费视频观看拍拍| 亚洲最新中文字幕| 国产成人亚洲精品91专区手机|