1 package com.agen.service.impl;
2
3 import java.io.Serializable;
4 import java.util.Collection;
5 import java.util.List;
6 import java.util.Map;
7
8 import org.hibernate.Criteria;
9 import org.hibernate.criterion.Criterion;
10 import org.hibernate.criterion.DetachedCriteria;
11 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.stereotype.Component;
13 import org.springframework.stereotype.Service;
14 import org.springframework.transaction.annotation.Propagation;
15 import org.springframework.transaction.annotation.Transactional;
16
17 import com.agen.dao.impl.GenericDaoImpl;
18 import com.agen.service.GenericService;
19 import com.github.pagehelper.PageInfo;
20
21 @Transactional
22 public class GenericServiceImpl<T, PK extends Serializable> implements GenericService<T, PK> {
23
24
25 private GenericDaoImpl<T, PK> dao;
26 /**
27 * 设值注入Dao
28 * @param dao
29 */
30 @Autowired
31 public void setDao(GenericDaoImpl<T, PK> dao) {
32 this.dao = dao;
33 }
34
35 @Override
36 public List<T> list(Criteria criteria) {
37 // TODO Auto-generated method stub
38 return dao.list(criteria);
39 }
40
41 @Override
42 public List<T> list(String orderBy, boolean isAsc) {
43 // TODO Auto-generated method stub
44 return dao.list(orderBy, isAsc);
45 }
46
47 @Override
48 public List<T> list(DetachedCriteria criteria) {
49 // TODO Auto-generated method stub
50 return dao.list(criteria);
51 }
52
53 @Override
54 public int countAll(Criteria criteria) {
55 // TODO Auto-generated method stub
56 return dao.countAll(criteria);
57 }
58
59 @Override
60 public int countAll() {
61 // TODO Auto-generated method stub
62 return dao.countAll();
63 }
64
65 @Override
66 public boolean exists(PK id) {
67 // TODO Auto-generated method stub
68 return dao.exists(id);
69 }
70
71 @Override
72 @Transactional(propagation = Propagation.REQUIRED)
73 public void save(T t) {
74 // TODO Auto-generated method stub
75 dao.save(t);
76 }
77
78 @Override
79 @Transactional(propagation = Propagation.REQUIRED)
80 public void saveOrUpdate(T t) {
81 // TODO Auto-generated method stub
82 dao.saveOrUpdate(t);
83 }
84
85 @Override
86 @Transactional(propagation = Propagation.REQUIRED)
87 public T load(PK id) {
88 // TODO Auto-generated method stub
89 return dao.load(id);
90 }
91
92 @Override
93 @Transactional(propagation = Propagation.REQUIRED)
94 public void merge(T entity) {
95 // TODO Auto-generated method stub
96 dao.merge(entity);
97 }
98
99 @Override
100 public List<T> findAll() {
101 // TODO Auto-generated method stub
102 return dao.findAll();
103 }
104
105 @Override
106 @Transactional(propagation = Propagation.REQUIRED)
107 public T get(PK id) {
108 // TODO Auto-generated method stub
109 return dao.get(id);
110 }
111
112 @Override
113 public boolean contains(T t) {
114 // TODO Auto-generated method stub
115 return dao.contains(t);
116 }
117
118 @Override
119 public void delete(T t) {
120 // TODO Auto-generated method stub
121 dao.delete(t);
122 }
123
124 @Override
125 @Transactional(propagation = Propagation.REQUIRED)
126 public boolean deleteById(PK Id) {
127 // TODO Auto-generated method stub
128 return dao.deleteById(Id);
129 }
130
131 @Override
132 public void deleteAll(Collection<T> entities) {
133 // TODO Auto-generated method stub
134 dao.deleteAll(entities);
135 }
136
137 @Override
138 public void queryHql(String hqlString, Object... values) {
139 // TODO Auto-generated method stub
140 dao.queryHql(hqlString, values);
141 }
142
143 @Override
144 public void querySql(String sqlString, Object... values) {
145 // TODO Auto-generated method stub
146 dao.querySql(sqlString, values);
147 }
148
149 @Override
150 public T getByHQL(String hqlString, Object... values) {
151 // TODO Auto-generated method stub
152 return dao.getByHQL(hqlString, values);
153 }
154
155 @Override
156 public List<T> getListByHQL(String hqlString, Object... values) {
157 // TODO Auto-generated method stub
158 return dao.getListByHQL(hqlString, values);
159 }
160
161 @Override
162 public List<T> getListBySQL(String sqlString, Object... values) {
163 // TODO Auto-generated method stub
164 return dao.getListBySQL(sqlString, values);
165 }
166
167 @Override
168 public void refresh(T t) {
169 // TODO Auto-generated method stub
170 dao.refresh(t);
171 }
172
173 @Override
174 @Transactional(propagation = Propagation.REQUIRED)
175 public void update(T t) {
176 // TODO Auto-generated method stub
177 dao.update(t);
178 }
179
180 @Override
181 public Long countByHql(String hql, Object... values) {
182 // TODO Auto-generated method stub
183 return dao.countByHql(hql, values);
184 }
185
186 @Override
187 public PageInfo<T> findPageByHql(String hql, String countHql, int pageNo,
188 int pageSize, Object... values) {
189 // TODO Auto-generated method stub
190 return dao.findPageByHql(hql, countHql, pageNo, pageSize, values);
191 }
192
193 @Override
194 public List<T> list(String propertyName, Object value) {
195 // TODO Auto-generated method stub
196 return dao.list(propertyName, value);
197 }
198
199 @Override
200 public List<T> list(Criterion criterion) {
201 // TODO Auto-generated method stub
202 return dao.list(criterion);
203 }
204
205 @Override
206 public List<T> list(Criterion... criterions) {
207 // TODO Auto-generated method stub
208 return dao.list(criterions);
209 }
210
211 @Override
212 public T uniqueResult(String propertyName, Object value) {
213 // TODO Auto-generated method stub
214 return dao.uniqueResult(propertyName, value);
215 }
216
217 @Override
218 public T uniqueResult(Criterion... criterions) {
219 // TODO Auto-generated method stub
220 return dao.uniqueResult(criterions);
221 }
222
223 @Override
224 @Transactional(propagation = Propagation.REQUIRED, readOnly = true)
225 public T uniqueResult(Criteria criteria) {
226 // TODO Auto-generated method stub
227 return dao.uniqueResult(criteria);
228 }
229
230 @Override
231 @Transactional(propagation = Propagation.REQUIRED, readOnly = true)
232 public Integer uniqueResultInt(Criteria criteria){
233 return dao.uniqueResultInt(criteria);
234 }
235
236 @Override
237 public Criteria distinct(Criteria criteria) {
238 // TODO Auto-generated method stub
239 return dao.distinct(criteria);
240 }
241
242 @Override
243 public void flush() {
244 // TODO Auto-generated method stub
245 dao.flush();
246 }
247
248 @Override
249 public void clear() {
250 // TODO Auto-generated method stub
251 dao.clear();
252 }
253
254 @Override
255 public Criteria createCriteria() {
256 // TODO Auto-generated method stub
257 return dao.createCriteria();
258 }
259
260 @Override
261 public Criteria createCriteria(Criterion... criterions) {
262 // TODO Auto-generated method stub
263 return dao.createCriteria(criterions);
264 }
265
266 @Override
267 public List<T> findPage(Criteria criteria, int pageNo, int pageSize) {
268 // TODO Auto-generated method stub
269 return dao.findPage(criteria, pageNo, pageSize);
270 }
271
272 @Override
273 public PageInfo<T> findQuery(Criteria criteria, int pageNo, int pageSize) {
274 // TODO Auto-generated method stub
275 return dao.findQuery(criteria, pageNo, pageSize);
276 }
277
278 @Override
279 public List<T> findQuery(String hql, int pageNo, int pageSize, Map<?, ?> map) {
280 // TODO Auto-generated method stub
281 return dao.findQuery(hql, pageNo, pageSize, map);
282 }
283
284 }