BaseServiceImpl.java 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. package com.key.common.service;
  2. import java.io.Serializable;
  3. import java.util.List;
  4. import org.hibernate.criterion.Criterion;
  5. import org.springframework.transaction.annotation.Transactional;
  6. import com.key.common.base.entity.IdEntity;
  7. import com.key.common.dao.BaseDao;
  8. import com.key.common.plugs.page.Page;
  9. import com.key.common.plugs.page.PropertyFilter;
  10. /**
  11. * 业务基类
  12. * @author keyuan(keyuan258@gmail.com)
  13. *
  14. * https://github.com/wkeyuan/DWSurvey
  15. * http://dwsurvey.net
  16. */
  17. @Transactional
  18. public abstract class BaseServiceImpl<T extends IdEntity, ID extends Serializable>
  19. implements BaseService<T, ID> {
  20. protected BaseDao<T, ID> baseDao;
  21. protected BaseDao<T, ID> getBaseDao() {
  22. if (baseDao == null) {
  23. setBaseDao();
  24. }
  25. return baseDao;
  26. }
  27. @Override
  28. public void save(T t) {
  29. String id = t.getId();
  30. if (id != null && "".equals(id)) {
  31. t.setId(null);
  32. }
  33. getBaseDao().save(t);
  34. }
  35. @Override
  36. public void delete(T t) {
  37. getBaseDao().delete(t);
  38. }
  39. public void delete(ID id) {
  40. getBaseDao().delete(get(id));
  41. };
  42. public T get(ID id) {
  43. return getBaseDao().get(id);
  44. }
  45. public T getModel(ID id) {
  46. return getBaseDao().getModel(id);
  47. };
  48. public Page<T> findPage(Page<T> page, List<PropertyFilter> filters) {
  49. return getBaseDao().findPage(page, filters);
  50. }
  51. @Override
  52. public List<T> findList(List<PropertyFilter> filters) {
  53. return getBaseDao().find(filters);
  54. }
  55. @Override
  56. public List<T> findAll(Page<T> page, List<PropertyFilter> filters) {
  57. return getBaseDao().findAll(page, filters);
  58. }
  59. @Override
  60. public List<T> findList(Criterion... criterions) {
  61. return getBaseDao().find(criterions);
  62. }
  63. @Override
  64. public Page<T> findPage(Page<T> page, Criterion... criterions) {
  65. return getBaseDao().findPage(page, criterions);
  66. }
  67. public Page<T> findPageByCri(Page<T> page, List<Criterion> criterions) {
  68. return getBaseDao().findPageByCri(page, criterions);
  69. }
  70. }