引用"Spring"手册上的话说: Hibernate+Spring显然是天生的结合.
下面是我用spring处理的一个HibernateDAO实例,可以看到,代码量大大减少了.
下面是我用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 ...}
28 /** 29 * 构造函数 30 */ ...}
32 super(); 34 33 } 35 36 /** 37 * 增加记录 38 * @param info Info 39 */ ...}
41 getHibernateTemplate().save(info); 43 42 } 44 45 /** 46 * 通过ID取得记录 47 * @param id String 48 * @return Info 49 */ ...}
51 Info info = (Info) getHibernateTemplate().load(Info.class, id); 54 52 return info; 53 } 55 56 /** 57 * 修改记录 58 * @param Info info 59 */ ...}
61 getHibernateTemplate().update(info); 63 62 } 64 65 /** 66 * 删除记录 67 * @param Info info 68 */ ...}
70 getHibernateTemplate().delete(info); 72 71 } 73 74 //////////////////////////////////////////////////////// 75 ///// /// 76 /////以下部份不带审核功能 /// 77 ///// /// 78 //////////////////////////////////////////////////////// 79 80 /** 81 * 取记录总数 82 * @return int 83 */ ...}
85 int count = 0; 91 86 String queryString = "select count(*) from Info"; 87 count = ((Integer) getHibernateTemplate().iterate(queryString).next()). 88 intValue(); 89 return count; 90 } 92 93 /** 94 * 取所有记录集合 95 * @return Iterator 96 */ ...}
98 Iterator iterator = null; 104 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 } 105 106 /** 107 * 取记录集合 108 * @return Iterator 109 * @param int position, int length 110 */ ...}
112 Iterator iterator = null; 125 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 } 126 127 /** 128 * 取第一条记录 129 * @throws Exception 130 * @return Station 131 */ ...}
133 Iterator iterator = null; 146 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(); ...}
142 info = (Info) iterator.next(); 144 return info; 143 } 145 } 147 148 /** 149 * 取最后一条记录 150 * @throws Exception 151 * @return Station 152 */ ...}
154 Iterator iterator = null; 168 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(); ...}
163 info = (Info) iterator.next(); 165 return info; 164 } 166 167 } 169 170 //////////////////////////////////////////////////////// 171 ///// /// 172 ///// 以下部份表中要有特定字段才能 /// 173 ///// /// 174 //////////////////////////////////////////////////////// 175 176 /** 177 * 取符合条件记录总数, [表中要有 isperson 字段] 178 * @return int 179 * @param int isPerson 180 */ 181 ...}
183 int count = 0; 190 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 } 191 192 /** 193 * 取所有符合条件记录集合, 模糊查询条件.[表中要有 isperson 字段] 194 * @return Iterator 195 * @param int isPerson 196 */ 197 ...}
199 Iterator iterator = null; 207 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 } 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 ...}
217 Iterator iterator = null; 232 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 } 233 234 //////////////////////////////////////////////////////// 235 ///// /// 236 ///// 以下部份表中要有特定字段才能 查询部份 /// 237 ///// /// 238 /////////////////////////////////////////////////////// 239 /** 240 * 取符合条件记录总数, 模糊查询条件.[表中要有 title 字段] 241 * @return int 242 * @param String text 243 */ ...}
245 int count = 0; 251 246 count = ((Integer) getHibernateTemplate().iterate( 247 "select count(*) from Info as info where info.title like '%" + text + 248 "%'").next()).intValue(); 249 return count; 250 } 252 253 /** 254 * 取所有符合条件记录集合, 模糊查询条件.[表中要有 title 字段] 255 * @return Iterator 256 * @param String text 257 */ 258 ...}
260 Iterator iterator = null; 272 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 } 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 ...}
281 Iterator iterator = null; 298 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 } 299 300 //////////////////////////////////////////////////////// 301 ///// /// 302 ///// 以下部份表中要有特定字段才能 /// 303 ///// /// 304 //////////////////////////////////////////////////////// 305 306 /** 307 * 取符合条件记录总数.[ 表中要有 registername 字段] 308 * @return int 309 * @param String text 310 */ ...}
312 int count = 0; 318 313 count = ((Integer) getHibernateTemplate().iterate( 314 "select count(*) from Info as info where info.registername = '" + 315 registerName + "'").next()).intValue(); 316 return count; 317 } 319 320 /** 321 * 通过注册名取得一条记录,如有多条,只取第一条.[表中要有 registername字段] 322 * @param registername String 323 * @return Info 324 */ ...}
326 Iterator iterator = null; 342 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(); ...}
338 info = (Info) iterator.next(); 340 return info; 339 } 341 } 343 344 /** 345 * 通过注册名取得所有记录集合.[表中要有 registername字段] 346 * @param registername String 347 * @return Iterator 348 */ 349 public Iterator getAllInfosByRegisterName(String registerName) throws ...}
351 Iterator iterator = null; 363 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 } 364 365 /** 366 * 通过注册名取得记录列表.[表中要有 registername字段] 367 * @param registername String 368 * @return Iterator 369 */ 370 public Iterator getInfosByRegisterName(String registerName, int position, ...}
372 Iterator iterator = null; 388 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 } 389 390 //////////////////////////////////////////////////////// 391 ///// /// 392 ///// 以下部份表中要有特定字段才能 /// 393 ///// /// 394 //////////////////////////////////////////////////////// 395 396 /** 397 * 取记录总数.[ 表中要有 board_id 字段] 398 * @return int 399 * @param String boardId 400 */ ...}
402 int count = 0; 410 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 } 411 412 /** 413 * 通过版块名取得所有记录集合.[表中要有 board_id字段] 414 * @param BoardId String 415 * @return Iterator 416 */ ...}
418 Iterator iterator = null; 429 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 } 430 431 /** 432 * 通过版块名取得记录列表.[表中要有 board_id字段] 433 * @param BoardId String 434 * @return Iterator 435 */ 436 public Iterator getInfosByBoard(String boardId, int position, int length) throws ...}
438 Iterator iterator = null; 456 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 } 457 458 /** 459 * 取符合条件记录总数.[ 表中要有 board_id 字段,title] 模糊查询title 460 * @return int 461 * @param String boardId ,String text 462 */ ...}
464 int count = 0; 473 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 } 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, ...}
482 Iterator iterator = null; 500 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 } 501 学习中ing |
引用‘Spring’手册观点,Hibernate与Spring是天生结合。展示了用Spring处理的一个Hibernate DAO实例,使用该方式可使代码量大大减少。

619

被折叠的 条评论
为什么被折叠?



