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

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

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

    Dict.CN 在線詞典, 英語學習, 在線翻譯

    都市淘沙者

    荔枝FM Everyone can be host

    統計

    留言簿(23)

    積分與排名

    優秀學習網站

    友情連接

    閱讀排行榜

    評論排行榜

    Hibernate和Spring對DAO處理的實例

    用spring處理的一個HibernateDAO實例,可以看到,代碼量大大減少了. 

    java代碼:  

     1    
     2   package infoweb.dao; 
     3    
     4   import java.util.List; 
     5   import java.util.Iterator; 
     6    
     7   import infoweb.pojo.Info; 
     8    
     9    
     10  import net.sf.hibernate.HibernateException; 
     11  import net.sf.hibernate.Query; 
     12  import net.sf.hibernate.Session; 
     13   
     14  import org.springframework.orm.hibernate.HibernateCallback; 
     15  import org.springframework.orm.hibernate.support.HibernateDaoSupport; 
     16   
     17   
     18  /** 
     19   * <p>Title: </p> 
     20   * <p>Description: </p> 
     21   * <p>Copyright: Copyright (c) 2004</p> 
     22   * <p>Company: </p> 
     23   * @author 段洪杰 
     24   * @version 1.0 
     25   */ 
     26   
    27  public class InfoDAOImpl extends HibernateDaoSupport implements IInfoDAO { 
    ...}
     28    /** 
     29     * 構造函數 
     30     */ 
    31    public InfoDAOImpl() { 
    ...}
     32      super(); 
     33    }
     34   
     35   
     36    /** 
     37     * 增加記錄 
     38     * @param info Info 
     39     */ 
    40    public void setInfo(Info info) throws Exception { 
    ...}
     41      getHibernateTemplate().save(info); 
     42    }
     43   
     44   
     45    /** 
     46     * 通過ID取得記錄 
     47     * @param id String 
     48     * @return Info 
     49     */ 
    50    public Info getInfoById(String id) throws Exception { 
    ...}
     51      Info info = (Info) getHibernateTemplate().load(Info.class, id); 
     52      return info; 
     53    }
     54   
     55   
     56    /** 
     57     * 修改記錄 
     58     * @param Info info 
     59     */ 
    60    public void modifyInfo(Info info) throws Exception { 
    ...}
     61      getHibernateTemplate().update(info); 
     62    }
     63   
     64   
     65    /** 
     66     * 刪除記錄 
     67     * @param Info info 
     68     */ 
    69    public void removeInfo(Info info) throws Exception { 
    ...}
     70      getHibernateTemplate().delete(info); 
     71    }
     72   
     73   
     74    //////////////////////////////////////////////////////// 
     75    /////                                                /// 
     76    /////以下部份不帶審核功能                             /// 
     77    /////                                                /// 
     78    //////////////////////////////////////////////////////// 
     79   
     80    /** 
     81     * 取記錄總數 
     82     * @return int 
     83     */ 
    84    public int getInfosCount() throws Exception { 
    ...}
     85      int count = 0; 
     86      String queryString = "select count(*) from Info"; 
     87      count = ((Integer) getHibernateTemplate().iterate(queryString).next()). 
     88              intValue(); 
     89      return count; 
     90    }
     91   
     92   
     93    /** 
     94     * 取所有記錄集合 
     95     * @return Iterator 
     96     */ 
    97    public Iterator getAllInfos() throws Exception { 
    ...}
     98      Iterator iterator = null; 
     99      String queryString = " select info from Info as info order by info.id desc"; 
     100     List list = getHibernateTemplate().find(queryString); 
     101     iterator = list.iterator(); 
     102     return iterator; 
     103   }
     104  
     105  
     106   /** 
     107    * 取記錄集合 
     108    * @return Iterator 
     109    * @param int position, int length 
     110    */ 
    111   public Iterator getInfos(int position, int length) throws Exception { 
    ...}
     112     Iterator iterator = null; 
     113     String queryString = " select info from Info as info order by info.id desc"; 
     114     Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
     115     //設置游標的起始點 
     116     query.setFirstResult(position); 
     117     //設置游標的長度 
     118     query.setMaxResults(length); 
     119     //記錄生成 
     120     List list = query.list(); 
     121     //把查詢到的結果放入迭代器 
     122     iterator = list.iterator(); 
     123     return iterator; 
     124   }
     125  
     126  
     127   /** 
     128    * 取第一條記錄 
     129    * @throws Exception 
     130    * @return Station 
     131    */ 
    132   public Info getFirstInfo() throws Exception { 
    ...}
     133     Iterator iterator = null; 
     134     Info info = null; 
     135     String queryString = "select info from Info as info order by info.id desc"; 
     136     Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
     137     //記錄生成 
     138     List list = query.list(); 
     139     //把查詢到的結果放入迭代器 
     140     iterator = list.iterator(); 
    141     if (iterator.hasNext()) { 
    ...}
     142       info = (Info) iterator.next(); 
     143     }
     144     return info; 
     145   }
     146  
     147  
     148   /** 
     149    * 取最后一條記錄 
     150    * @throws Exception 
     151    * @return Station 
     152    */ 
    153   public Info getLastInfo() throws Exception { 
    ...}
     154     Iterator iterator = null; 
     155     Info info = null; 
     156     String queryString = "select info from Info as info order by info.id asc"; 
     157     Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
     158     //記錄生成 
     159     List list = query.list(); 
     160     //把查詢到的結果放入迭代器 
     161     iterator = list.iterator(); 
    162     if (iterator.hasNext()) { 
    ...}
     163       info = (Info) iterator.next(); 
     164     }
     165     return info; 
     166  
     167   }
     168  
     169  
     170   //////////////////////////////////////////////////////// 
     171   /////                                                /// 
     172   ///// 以下部份表中要有特定字段才能                         /// 
     173   /////                                                /// 
     174   //////////////////////////////////////////////////////// 
     175  
     176   /** 
     177    * 取符合條件記錄總數, [表中要有 isperson 字段] 
     178    * @return int 
     179    * @param int isPerson 
     180    */ 
     181  
    182   public int getInfosCountByIsperson(int isPerson) throws Exception { 
    ...}
     183     int count = 0; 
     184     String queryString = 
     185         "select count(*) from Info as info where info.isperson =" + isPerson; 
     186     count = ((Integer) getHibernateTemplate().iterate(queryString).next()). 
     187             intValue(); 
     188     return count; 
     189   }
     190  
     191  
     192   /** 
     193    * 取所有符合條件記錄集合, 模糊查詢條件.[表中要有 isperson 字段] 
     194    * @return Iterator 
     195    * @param int isPerson 
     196    */ 
     197  
    198   public Iterator getAllInfosByIsperson(int isPerson) throws Exception { 
    ...}
     199     Iterator iterator = null; 
     200     String queryString = " select info from Info as info where info.isperson =" + 
     201                          isPerson + " order by info.id desc"; 
     202     List list = getHibernateTemplate().find(queryString); 
     203     //把查詢到的結果放入迭代器 
     204     iterator = list.iterator(); 
     205     return iterator; 
     206   }
     207  
     208  
     209   /** 
     210    * 取符合條件記錄集合, 模糊查詢條件.[表中要有 isperson 字段] 
     211    * @return Iterator 
     212    * @param int isPerson,int position, int length 
     213    */ 
     214  
     215   public Iterator getInfosByIsperson(int isPerson, int position, int length) throws 
    216       Exception { 
    ...}
     217     Iterator iterator = null; 
     218     String queryString = " select info from Info as info where info.isperson =" + 
     219                          isPerson + " order by info.id desc"; 
     220     //創建查詢 
     221     Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
     222     //設置游標的起始點 
     223     query.setFirstResult(position); 
     224     //設置游標的長度 
     225     query.setMaxResults(length); 
     226     //記錄生成 
     227     List list = query.list(); 
     228     //把查詢到的結果放入迭代器 
     229     iterator = list.iterator(); 
     230     return iterator; 
     231   }
     232  
     233  
     234   //////////////////////////////////////////////////////// 
     235   /////                                                /// 
     236   ///// 以下部份表中要有特定字段才能            查詢部份      /// 
     237   /////                                                /// 
     238   /////////////////////////////////////////////////////// 
     239   /** 
     240    * 取符合條件記錄總數, 模糊查詢條件.[表中要有 title 字段] 
     241    * @return int 
     242    * @param String text 
     243    */ 
    244   public int getInfosCount(String text) throws Exception { 
    ...}
     245     int count = 0; 
     246     count = ((Integer) getHibernateTemplate().iterate( 
     247         "select count(*) from Info as info where info.title like '%" + text + 
     248         "%'").next()).intValue(); 
     249     return count; 
     250   }
     251  
     252  
     253   /** 
     254    * 取所有符合條件記錄集合, 模糊查詢條件.[表中要有 title 字段] 
     255    * @return Iterator 
     256    * @param String text 
     257    */ 
     258  
    259   public Iterator getAllInfos(String text) throws Exception { 
    ...}
     260     Iterator iterator = null; 
     261     String queryString = 
     262         " select info from Info as info where info.title like '%" + text + 
     263         "%' order by info.id desc"; 
     264     //創建查詢 
     265     Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
     266     //記錄生成 
     267     List list = query.list(); 
     268     //把查詢到的結果放入迭代器 
     269     iterator = list.iterator(); 
     270     return iterator; 
     271   }
     272  
     273  
     274   /** 
     275    * 取符合條件記錄集合, 模糊查詢條件.[表中要有 title 字段] 
     276    * @return Iterator 
     277    * @param String text,int position, int length 
     278    */ 
     279   public Iterator getInfos(String text, int position, int length) throws 
    280       Exception { 
    ...}
     281     Iterator iterator = null; 
     282     String queryString = 
     283         " select info from Info as info where info.title like '%" + text + 
     284         "%' order by info.id desc"; 
     285  
     286     //創建查詢 
     287     Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
     288     //設置游標的起始點 
     289     query.setFirstResult(position); 
     290     //設置游標的長度 
     291     query.setMaxResults(length); 
     292     //記錄生成 
     293     List list = query.list(); 
     294     //把查詢到的結果放入迭代器 
     295     iterator = list.iterator(); 
     296     return iterator; 
     297   }
     298  
     299  
     300   //////////////////////////////////////////////////////// 
     301   /////                                                /// 
     302   ///// 以下部份表中要有特定字段才能                        /// 
     303   /////                                                /// 
     304   //////////////////////////////////////////////////////// 
     305  
     306   /** 
     307    * 取符合條件記錄總數.[ 表中要有 registername 字段] 
     308    * @return int 
     309    * @param String text 
     310    */ 
    311   public int getInfosCountByRegisterName(String registerName) throws Exception { 
    ...}
     312     int count = 0; 
     313     count = ((Integer) getHibernateTemplate().iterate( 
     314         "select count(*) from Info as info where info.registername = '" + 
     315         registerName + "'").next()).intValue(); 
     316     return count; 
     317   }
     318  
     319  
     320   /** 
     321    * 通過注冊名取得一條記錄,如有多條,只取第一條.[表中要有 registername字段] 
     322    * @param registername String 
     323    * @return Info 
     324    */ 
    325   public Info getInfoByRegisterName(String registerName) throws Exception { 
    ...}
     326     Iterator iterator = null; 
     327     Info info = null; 
     328     String queryString = 
     329         " select info from Info as info where info.registername='" + 
     330         registerName + "' order by info.id desc"; 
     331     //創建查詢 
     332     Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
     333     //記錄生成 
     334     List list = query.list(); 
     335     //把查詢到的結果放入迭代器 
     336     iterator = list.iterator(); 
    337     if (iterator.hasNext()) { 
    ...}
     338       info = (Info) iterator.next(); 
     339     }
     340     return info; 
     341   }
     342  
     343  
     344   /** 
     345    * 通過注冊名取得所有記錄集合.[表中要有 registername字段] 
     346    * @param registername String 
     347    * @return Iterator 
     348    */ 
     349   public Iterator getAllInfosByRegisterName(String registerName) throws 
    350       Exception { 
    ...}
     351     Iterator iterator = null; 
     352     String queryString = 
     353         " select info from Info as info where info.registername='" + 
     354         registerName + "' order by info.id desc"; 
     355     //創建查詢 
     356     Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
     357     //記錄生成 
     358     List list = query.list(); 
     359     //把查詢到的結果放入迭代器 
     360     iterator = list.iterator(); 
     361     return iterator; 
     362   }
     363  
     364  
     365   /** 
     366    * 通過注冊名取得記錄列表.[表中要有 registername字段] 
     367    * @param registername String 
     368    * @return Iterator 
     369    */ 
     370   public Iterator getInfosByRegisterName(String registerName, int position, 
    371                                          int length) throws Exception { 
    ...}
     372     Iterator iterator = null; 
     373     String queryString = 
     374         " select info from Info as info where info.registername='" + 
     375         registerName + "' order by info.id desc"; 
     376     //創建查詢 
     377     Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
     378     //設置游標的起始點 
     379     query.setFirstResult(position); 
     380     //設置游標的長度 
     381     query.setMaxResults(length); 
     382     //記錄生成 
     383     List list = query.list(); 
     384     //把查詢到的結果放入迭代器 
     385     iterator = list.iterator(); 
     386     return iterator; 
     387   }
     388  
     389  
     390   //////////////////////////////////////////////////////// 
     391   /////                                                /// 
     392   ///// 以下部份表中要有特定字段才能                        /// 
     393   /////                                                /// 
     394   //////////////////////////////////////////////////////// 
     395  
     396   /** 
     397    * 取記錄總數.[ 表中要有 board_id 字段] 
     398    * @return int 
     399    * @param String boardId 
     400    */ 
    401   public int getInfosCountByBoard(String boardId) throws Exception { 
    ...}
     402     int count = 0; 
     403  
     404     count = ((Integer) getHibernateTemplate().iterate( 
     405         "select count(*) from Info as info where info.boardId = '" + boardId + 
     406         "'").next()).intValue(); 
     407  
     408     return count; 
     409   }
     410  
     411  
     412   /** 
     413    * 通過版塊名取得所有記錄集合.[表中要有 board_id字段] 
     414    * @param BoardId String 
     415    * @return Iterator 
     416    */ 
    417   public Iterator getAllInfosByBoard(String boardId) throws Exception { 
    ...}
     418     Iterator iterator = null; 
     419     String queryString = " select info from Info as info where info.boardId='" + 
     420                          boardId + "' order by info.id desc"; 
     421     //創建查詢 
     422     Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
     423     //記錄生成 
     424     List list = query.list(); 
     425     //把查詢到的結果放入迭代器 
     426     iterator = list.iterator(); 
     427     return iterator; 
     428   }
     429  
     430  
     431   /** 
     432    * 通過版塊名取得記錄列表.[表中要有 board_id字段] 
     433    * @param BoardId String 
     434    * @return Iterator 
     435    */ 
     436   public Iterator getInfosByBoard(String boardId, int position, int length) throws 
    437       Exception { 
    ...}
     438     Iterator iterator = null; 
     439     String queryString = " select info from Info as info where info.boardId='" + 
     440                          boardId + "' order by info.id desc"; 
     441  
     442     //創建查詢 
     443     Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
     444     //設置游標的起始點 
     445     query.setFirstResult(position); 
     446     //設置游標的長度 
     447     query.setMaxResults(length); 
     448     //記錄生成 
     449     List list = query.list(); 
     450     //把查詢到的結果放入迭代器 
     451     iterator = list.iterator(); 
     452  
     453     return iterator; 
     454  
     455   }
     456  
     457  
     458   /** 
     459    * 取符合條件記錄總數.[ 表中要有 board_id 字段,title]  模糊查詢title 
     460    * @return int 
     461    * @param String boardId ,String text 
     462    */ 
    463   public int getInfosCountByBoard(String boardId, String text) throws Exception { 
    ...}
     464     int count = 0; 
     465  
     466     count = ((Integer) getHibernateTemplate().iterate( 
     467         "select count(*) from Info as info where info.boardId='" + boardId + 
     468         "' and info.title like '%" + text + "%'").next()).intValue(); 
     469  
     470     return count; 
     471  
     472   }
     473  
     474  
     475   /** 
     476    * 通過版塊名取得記錄列表.[表中要有 board_id字段]  模糊查詢title 
     477    * @param String boardID,int position, int length 
     478    * @return Iterator 
     479    */ 
     480   public Iterator getInfosByBoard(String boardId, int position, int length, 
    481                                   String text) throws Exception { 
    ...}
     482     Iterator iterator = null; 
     483     String queryString = " select info from Info as info where info.boardId='" + 
     484                          boardId + "' and info.title like '%" + text + 
     485                          "%' order by info.id desc"; 
     486  
     487     //創建查詢 
     488     Query query = getHibernateTemplate().createQuery(getSession(), queryString); 
     489     //設置游標的起始點 
     490     query.setFirstResult(position); 
     491     //設置游標的長度 
     492     query.setMaxResults(length); 
     493     //記錄生成 
     494     List list = query.list(); 
     495     //把查詢到的結果放入迭代器 
     496     iterator = list.iterator(); 
     497     return iterator; 
     498  
     499   }

    posted on 2006-02-23 17:33 都市淘沙者 閱讀(619) 評論(0)  編輯  收藏 所屬分類: Spring+Struts+Hibernate

    主站蜘蛛池模板: 亚洲中文无码亚洲人成影院| 亚洲AV成人精品网站在线播放 | 亚洲视频无码高清在线| 亚洲日韩VA无码中文字幕| 免费A级毛片无码免费视| 久久免费美女视频| 日韩在线视频免费| 亚洲日本视频在线观看| 国产aⅴ无码专区亚洲av| 处破痛哭A√18成年片免费| 久久国产色AV免费观看| 国产免费拔擦拔擦8X高清在线人| 久久久www成人免费毛片| 亚洲欧洲一区二区| 噜噜嘿在线视频免费观看| 国产伦精品一区二区三区免费下载 | 免费在线观看黄网站| 中文字幕影片免费在线观看| 久久精品人成免费| 三年片在线观看免费观看大全一| A级毛片成人网站免费看| 色吊丝性永久免费看码 | 国产成人无码免费看视频软件| 亚洲视频一区二区| 亚洲AV无码成人网站在线观看| 日韩免费无码一区二区三区 | 97在线视频免费公开视频| 天天摸天天操免费播放小视频 | 在线a免费观看最新网站| 一级毛片成人免费看a| 亚洲av无码不卡久久| 亚洲精品在线观看视频| 亚洲精品无码专区久久久| 国产亚洲一区二区三区在线不卡| 亚洲国产成人精品无码久久久久久综合 | 免费精品国产自产拍在线观看 | 波多野结衣一区二区免费视频| 国产99视频免费精品是看6 | 人妖系列免费网站观看| 久久久精品视频免费观看 | 亚洲一级特黄大片无码毛片 |