BaseDAO.java
上传用户:cdpainuo
上传日期:2022-07-12
资源大小:5257k
文件大小:3k
源码类别:

Jsp/Servlet

开发平台:

Java

  1. package com.appspot.cindyblog.dao;
  2. import java.util.Iterator;
  3. import java.util.List;
  4. import java.util.Map;
  5. import java.util.Set;
  6. import javax.persistence.EntityManager;
  7. import com.appspot.cindyblog.pojo.BaseBean;
  8. public class BaseDAO implements IBaseDAO{
  9. public <T extends BaseBean> T getObjectById(Class<T> clazz,Long id,EntityManager em){
  10. T o = null;
  11.     try {
  12.       o = em.find(clazz, id);
  13.     }catch(Exception ex){
  14.      ex.printStackTrace();
  15. } finally {
  16.       return o;
  17.     }
  18. }
  19. public <T extends BaseBean> boolean addObject(T o,EntityManager em){
  20. boolean b = false;
  21. try {
  22.     em.persist(o);
  23.     b = true;
  24. }catch(Exception ex){
  25. ex.printStackTrace();
  26. } finally {
  27. return b;
  28. }
  29. }
  30. public <T extends BaseBean> boolean deleteObject(Class<T> clazz,Long id,EntityManager em){
  31. boolean b = false;
  32.     try {
  33.      T o = em.find(clazz, id);
  34.      em.remove(o);
  35.      b = true;
  36.     }catch(Exception ex){
  37.      ex.printStackTrace();
  38. } finally {
  39. em.flush();
  40. return b;
  41.     }
  42. }
  43. public <T extends BaseBean> int getObjectCount(Class<T> clazz,EntityManager em){
  44. int i = 0;
  45. try{
  46. String query = "select from "+clazz.getName();
  47. List<T> list = em.createQuery(query).getResultList();
  48. if(list == null){
  49. i = 0;
  50. }else{
  51. i =  list.size();
  52. }
  53. }catch(Exception ex){
  54. ex.printStackTrace();
  55. }finally{
  56. return i;
  57. }
  58. }
  59. public <T extends BaseBean> int getObjectCount(Class<T> clazz,EntityManager em,Map<String,String> prames){
  60. int i = 0;
  61. try{
  62. String prame = changeToString(prames);
  63. String query = "select from "+clazz.getName()+" where "+prame+"1 = 1";
  64. List<T> list = em.createQuery(query).getResultList();
  65. if(list == null){
  66. i = 0;
  67. }else{
  68. i =  list.size();
  69. }
  70. }catch(Exception ex){
  71. ex.printStackTrace();
  72. }finally{
  73. return i;
  74. }
  75. }
  76. public <T extends BaseBean> List<T> getObjectList(Class<T> clazz,EntityManager em,String orderBy,int start,int limit){
  77. List list = null;
  78. try{
  79. String query = "select from "+clazz.getName()+" order by "+orderBy+" desc";
  80. list = em.createQuery(query).setFirstResult(start).setMaxResults(limit).getResultList();
  81. }catch(Exception ex){
  82. ex.printStackTrace();
  83. }finally{
  84. return list;
  85. }
  86. }
  87. public <T extends BaseBean> List<T> getObjectList(Class<T> clazz,EntityManager em,String orderBy,Map<String,String> prames,int start,int limit){
  88. List list = null;
  89. try{
  90. String prame = changeToString(prames);
  91. String order = "1 = 1 order by "+orderBy+" desc";
  92. String query = "select from "+clazz.getName()+" where "+prame+order;
  93. list = em.createQuery(query).setFirstResult(start).setMaxResults(limit).getResultList();
  94. }catch(Exception ex){
  95. ex.printStackTrace();
  96. }finally{
  97. return list;
  98. }
  99. }
  100. public <T extends BaseBean> List<T> getObjectList(Class<T> clazz,EntityManager em){
  101. List list = null;
  102. try{
  103. String query = "select from "+clazz.getName();
  104. list = em.createQuery(query).getResultList();
  105. }catch(Exception ex){
  106. ex.printStackTrace();
  107. }finally{
  108. return list;
  109. }
  110. }
  111. protected String changeToString(Map<String,String> map){
  112. Set<String> set = map.keySet();
  113. String query = "";
  114. Iterator<String> ite = set.iterator();
  115. while(ite.hasNext()){
  116. String name = ite.next();
  117. query = query + name+" = '"+map.get(name)+"' and ";
  118. }
  119. return query;
  120. }
  121. }