目前正在做SSH2整合項(xiàng)目,寫了一個(gè)DAO基類,發(fā)上來大家提提意見,看能不能在改進(jìn)一下。
1 /**
2 * @(#)IBaseDAO.java 2009-9-14 下午03:05:59
3 * Copyright 2009 Bobby_Guo, Inc. All rights reserved
4 */
5 package cn.commonframework.util;
6
7 import java.io.Serializable;
8 import java.util.List;
9
10 import org.hibernate.criterion.Criterion;
11
12 /**
13 * @description:公用DAO接口,包含基本的增、刪、改、查操作.
14 * @author :Bobby_Guo <br>
15 * @version :1.0 <br>
16 * @date :2009-9-14 下午03:12:53 <br>
17 * @param <T>
18 */
19 public interface IBaseDAO<T> {
20 /**
21 * 保存一個(gè)實(shí)體對(duì)象
22 * @param t
23 */
24 public void save(T t);
25 /**
26 * 更新一個(gè)實(shí)體對(duì)象
27 * @param t
28 */
29 public void update(T t);
30 /**
31 * 批量更新
32 * @param hql
33 * @param o
34 * @return
35 */
36 public int batchUpdate(String hql,Object
o);
37 /**
38 * 刪除一個(gè)實(shí)體對(duì)象
39 * @param t
40 */
41 public void delete(T t);
42 /**
43 * 根據(jù)主鍵查找實(shí)體對(duì)象
44 * @param id
45 * @return
46 */
47 public T findById(Serializable id);
48 /**
49 * 查找所有實(shí)體對(duì)象
50 * @return
51 */
52 public List<T> getAll();
53 /**
54 * HQL查詢
55 * @param hql
56 * @return
57 */
58 public List<T> getAllByHql(String hql);
59 /**
60 * QBC查詢
61 * @param criterion
62 * @return
63 */
64 public List<T> getAllByCriteria(Criterion
criterion);
65 /**
66 * QBE查詢
67 * @return
68 */
69 public List<T> getAllByExample(T t,boolean enableLike,String
properties);
70 /**
71 * 默認(rèn)的QBE查詢
72 * @param t
73 * @return
74 */
75 public List<T> getAllByExample(T t);
76 }
77
2 * @(#)IBaseDAO.java 2009-9-14 下午03:05:59
3 * Copyright 2009 Bobby_Guo, Inc. All rights reserved
4 */
5 package cn.commonframework.util;
6
7 import java.io.Serializable;
8 import java.util.List;
9
10 import org.hibernate.criterion.Criterion;
11
12 /**
13 * @description:公用DAO接口,包含基本的增、刪、改、查操作.
14 * @author :Bobby_Guo <br>
15 * @version :1.0 <br>
16 * @date :2009-9-14 下午03:12:53 <br>
17 * @param <T>
18 */
19 public interface IBaseDAO<T> {
20 /**
21 * 保存一個(gè)實(shí)體對(duì)象
22 * @param t
23 */
24 public void save(T t);
25 /**
26 * 更新一個(gè)實(shí)體對(duì)象
27 * @param t
28 */
29 public void update(T t);
30 /**
31 * 批量更新
32 * @param hql
33 * @param o
34 * @return
35 */
36 public int batchUpdate(String hql,Object

37 /**
38 * 刪除一個(gè)實(shí)體對(duì)象
39 * @param t
40 */
41 public void delete(T t);
42 /**
43 * 根據(jù)主鍵查找實(shí)體對(duì)象
44 * @param id
45 * @return
46 */
47 public T findById(Serializable id);
48 /**
49 * 查找所有實(shí)體對(duì)象
50 * @return
51 */
52 public List<T> getAll();
53 /**
54 * HQL查詢
55 * @param hql
56 * @return
57 */
58 public List<T> getAllByHql(String hql);
59 /**
60 * QBC查詢
61 * @param criterion
62 * @return
63 */
64 public List<T> getAllByCriteria(Criterion

65 /**
66 * QBE查詢
67 * @return
68 */
69 public List<T> getAllByExample(T t,boolean enableLike,String

70 /**
71 * 默認(rèn)的QBE查詢
72 * @param t
73 * @return
74 */
75 public List<T> getAllByExample(T t);
76 }
77
下面是BaseDAO類:
