IT人生
          專注于java相關技術.
          posts - 53,comments - 87,trackbacks - 0
          HibernateTemplate提供非常多的常用方法來完成基本的操作,比如通常的增加、刪除、修改、查詢等操作,Spring 2.0更增加對命名SQL查詢的支持,也增加對分頁的支持。大部分情況下,使用Hibernate的常規用法,就可完成大多數DAO對象的CRUD操作。下面是HibernateTemplate的常用方法簡介:

          q      
          void delete(Object entity):刪除指定持久化實例

          q      deleteAll(Collection entities):刪除集合內全部持久化類實例

          q      find(String queryString):根據HQL查詢字符串來返回實例集合

          q      findByNamedQuery(String queryName):根據命名查詢返回實例集合

          q      get(Class entityClass, Serializable id):根據主鍵加載特定持久化類的實例

          q      save(Object entity):保存新的實例

          q      saveOrUpdate(Object entity):根據實例狀態,選擇保存或者更新

          q      update(Object entity):更新實例的狀態,要求entity是持久狀態

          q      setMaxResults(
          int maxResults):設置分頁的大小

          下面是一個完整DAO類的源代碼:

          public class PersonDAOHibernate implements PersonDAO

          {

              
          //采用log4j來完成調試時的日志功能

          private static Log log = LogFactory.getLog(NewsDAOHibernate.class);

              
          //以私有的成員變量來保存SessionFactory。

          private SessionFactory sessionFactory;

          //以私有變量的方式保存HibernateTemplate

          private HibernateTemplate hibernateTemplate = null;

                   
          //設值注入SessionFactory必需的setter方法

              
          public void setSessionFactory(SessionFactory sessionFactory) 

          {

                     
          this.sessionFactory = sessionFactory;

              }


                   
          //初始化本DAO所需的HibernateTemplate

          public HIbernateTemplate getHibernateTemplate() 

          {

                   
          //首先,檢查原來的hibernateTemplate實例是否還存在

                   
          if ( hibernateTemplate == null)

                   
          {

                             
          //如果不存在,新建一個HibernateTemplate實例

                             hibernateTemplate 
          = new HibernateTemplate(sessionFactory);

                   }


                   
          return hibernateTemplate;

          }


                   
          //返回全部的人的實例

              
          public List getPersons()

                   
          {        

                             
          //通過HibernateTemplate的find方法返回Person的全部實例

                     
          return getHibernateTemplate().find("from Person");

              }


                   
          /**

                    * 根據主鍵返回特定實例

                    * @ return 特定主鍵對應的Person實例

                    * @ param 主鍵值

              public News getNews(int personid)

                   {

                     return (Person)getHibernateTemplate().get(Person.class, new Integer(personid));

              }

                   /**

                    * @ person 需要保存的Person實例

                    
          */


              
          public void savePerson(Person person)

                   
          {                 

                             getHibernateTemplate().saveOrUpdate(person);

              }


                   
          /**

                    * @ param personid 需要刪除Person實例的主鍵

                    * /

              public void removePerson(int personid)

                   {

                             //先加載特定實例

                     Object p = getHibernateTemplate().load(Person.class, new Integer(personid));

                             //刪除特定實例

                     getHibernateTemplate().delete(p);

              }

          }


          減肥瘦身品總匯     值得信賴*脈脈美妝*正品現貨謝絕講價     〓深港商盟〓名品歐衣坊(美國休閑品牌AF系列)     QQ三國游戲幣及道具專賣店     小臉紅紅的瘦身旗艦店
          posted on 2009-04-17 15:07 龍華城 閱讀(997) 評論(0)  編輯  收藏 所屬分類: Hibernate
          主站蜘蛛池模板: 陕西省| 海淀区| 平安县| 革吉县| 乌拉特中旗| 金坛市| 吉木乃县| 嘉禾县| 礼泉县| 开远市| 六盘水市| 岳池县| 正蓝旗| 河津市| 桐梓县| 应城市| 滁州市| 安多县| 于都县| 佛坪县| 永定县| 图片| 崇仁县| 沐川县| 苗栗市| 桐乡市| 鲁山县| 西安市| 板桥市| 阿荣旗| 福鼎市| 封丘县| 邳州市| 保靖县| 镇远县| 华蓥市| 禹城市| 潢川县| 微山县| 中方县| 萝北县|