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 龍華城 閱讀(1005) 評論(0)  編輯  收藏 所屬分類: Hibernate
          主站蜘蛛池模板: 西畴县| 大名县| 监利县| SHOW| 琼结县| 中江县| 洪洞县| 平昌县| 开鲁县| 山丹县| 长沙县| 霍州市| 乾安县| 吴江市| 行唐县| 黄大仙区| 苏尼特左旗| 新乐市| 融水| 象山县| 乌兰浩特市| 吉水县| 灯塔市| 志丹县| 西乡县| 兴宁市| 上林县| 阿坝县| 大田县| 墨竹工卡县| 罗定市| 奎屯市| 厦门市| 兴业县| 托克托县| 颍上县| 彭山县| 青河县| 山西省| 徐汇区| 富锦市|