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

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

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

    posts - 431,  comments - 344,  trackbacks - 0

    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);
            // 返回HibernateTemplate的execute的結果
      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-12-26 17:09 周銳 閱讀(2609) 評論(0)  編輯  收藏 所屬分類: Hibernate
    主站蜘蛛池模板: 久久国产精品萌白酱免费| 一级成人生活片免费看| 99在线在线视频免费视频观看| 亚洲日韩中文字幕在线播放| 国产精品免费久久久久久久久| 亚洲综合精品网站在线观看| 久久精品免费大片国产大片| 亚洲色偷偷偷鲁综合| 你是我的城池营垒免费观看完整版 | 成人午夜亚洲精品无码网站| av成人免费电影| 亚洲乱码精品久久久久..| AAA日本高清在线播放免费观看| 伊人婷婷综合缴情亚洲五月| 久久99毛片免费观看不卡| 亚洲尹人九九大色香蕉网站| 亚洲w码欧洲s码免费| 亚洲人成77777在线播放网站不卡 亚洲人成77777在线观看网 | 亚洲影院在线观看| 国产曰批免费视频播放免费s| 亚洲欧洲校园自拍都市| 最近中文字幕无吗免费高清 | 成人嫩草影院免费观看| 曰韩亚洲av人人夜夜澡人人爽| 大地影院MV在线观看视频免费 | 亚洲熟妇自偷自拍另欧美| 国产免费观看黄AV片| 搜日本一区二区三区免费高清视频| 中文字幕精品亚洲无线码一区| 午夜无码A级毛片免费视频| 亚洲一级黄色大片| 伊人久久亚洲综合影院| 成全视频高清免费观看电视剧| 亚洲一区二区三区国产精品无码 | 国产亚洲综合久久系列| 成人福利免费视频| 小说专区亚洲春色校园| 亚洲爆乳无码一区二区三区| 最近中文字幕免费mv视频8| 一级毛片正片免费视频手机看| 亚洲一区二区三区日本久久九|