1. 程式人生 > >Hibernate和Spring對DAO處理的例項 (!!!)

Hibernate和Spring對DAO處理的例項 (!!!)

 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