引用"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 |