CommonDAO.java~1~
上传用户:zghglow
上传日期:2022-08-09
资源大小:27227k
文件大小:10k
源码类别:

WEB源码(ASP,PHP,...)

开发平台:

JavaScript

  1. package com.chinacannel.common;
  2. import java.util.List;
  3. import java.util.ArrayList;
  4. import net.sf.hibernate.*;
  5. import net.sf.hibernate.type.Type;
  6. import org.apache.commons.logging.Log;
  7. import org.apache.commons.logging.LogFactory;
  8. import java.io.Serializable;
  9. public class CommonDAO {
  10.     private static Log log = LogFactory.getLog(CommonDAO.class);
  11.     public CommonDAO() {
  12.     }
  13.     public int getCount(Class cls) throws DAOException {
  14.         String hql = "select count(*) from " + cls.getName() + " s";
  15.         return this.getCountBySql(hql);
  16.     }
  17.     public int getCountBySql(String hql) throws DAOException {
  18.         Session session = null;
  19.         int count = 0;
  20.         try {
  21.             session = HibernateUtil.currentSession();
  22.             count = ((Integer) session.iterate(hql).next()).intValue();
  23.         } catch (HibernateException he) {
  24.             throw new DAOException("HibernateException:" + he.getMessage(), he);
  25.         }
  26.         return count;
  27.     }
  28.     public boolean createObject(Object object) throws DAOException {
  29.         boolean lpReturnValue = false;
  30.         log.debug("创建对象的实例:" + object.getClass().toString());
  31.         Session session = null;
  32.         //Transaction trans  = null;
  33.         try {
  34.             session = HibernateUtil.currentSession();
  35.             // trans = session.beginTransaction();
  36.             session.save(object);
  37.             session.flush();
  38.             // trans.commit();
  39.             lpReturnValue = true;
  40.         } catch (HibernateException he) {
  41.             throw new DAOException("HibernateException:" + he.getMessage(), he);
  42. //        } finally {
  43. //            try {
  44. //                HibernateUtil.closeSession();
  45. //            } catch (Exception ex) {
  46. //                log.error(ex.getMessage(), ex);
  47. //            }
  48.         }
  49.         return lpReturnValue;
  50.     }
  51.     public boolean updateObject(Object object) throws DAOException {
  52.         boolean lpReturnValue = false;
  53.         log.debug("更新对象的实例:" + object.getClass().toString());
  54.         Session session = null;
  55.         //Transaction trans = null;
  56.         try {
  57.             session = HibernateUtil.currentSession();
  58.             //trans = session.beginTransaction();
  59.             session.update(object);
  60.             session.flush();
  61.             //trans.commit();
  62.             lpReturnValue = true;
  63.         } catch (UnresolvableObjectException uoe) {
  64.             log.info(uoe.getMessage(), uoe);
  65.         } catch (HibernateException he) {
  66.             throw new DAOException("HibernateException:" + he.getMessage(), he);
  67. //        } finally {
  68. //            try {
  69. //                HibernateUtil.closeSession();
  70. //            } catch (Exception ex) {
  71. //                log.error(ex.getMessage(), ex);
  72. //            }
  73.         }
  74.         return lpReturnValue;
  75.     }
  76.     public boolean removeObject(Object object) throws DAOException {
  77.         boolean lpReturnValue = false;
  78.         log.debug("删除对象的实例:" + object.getClass().toString());
  79.         Session session = null;
  80.         Transaction trans = null;
  81.         try {
  82.             session = HibernateUtil.currentSession();
  83.             trans = session.beginTransaction();
  84.             session.delete(object);
  85.             trans.commit();
  86.             //session.flush();
  87.             lpReturnValue = true;
  88.         } catch (UnresolvableObjectException uoe) {
  89.             log.info(uoe.getMessage(), uoe);
  90.         } catch (HibernateException he) {
  91.             try {
  92.                 trans.rollback();
  93.             } catch (HibernateException he2) {
  94.                 //
  95.             }
  96.             throw new DAOException("HibernateException:" + he.getMessage(), he);
  97.         } catch (Exception ex) {
  98.             throw new DAOException("Exception:" + ex.getMessage(), ex);
  99. //        } finally {
  100. //            try {
  101. //                HibernateUtil.closeSession();
  102. //            } catch (Exception ex) {
  103. //                log.error(ex.getMessage(), ex);
  104. //            }
  105.         }
  106.         return lpReturnValue;
  107.     }
  108.     public Object loadObject(Serializable id, Class cls) throws
  109.             DAOException {
  110.         log.debug("获得对象的实例:" + cls.toString() + ",关键值为" + id.toString());
  111.         Object po = null;
  112.         Session session = null;
  113.         try {
  114.             session = HibernateUtil.currentSession();
  115.             po = (Object) session.load(cls, id);
  116.         } catch (UnresolvableObjectException uoe) {
  117.             log.info(uoe.getMessage(), uoe);
  118.         } catch (HibernateException he) {
  119.             throw new DAOException("HibernateException:" + he.getMessage(), he);
  120.         } catch (Exception ex) {
  121.             throw new DAOException("Exception:" + ex.getMessage(), ex);
  122. //        } finally {
  123. //            try {
  124. //                HibernateUtil.closeSession();
  125. //            } catch (Exception ex) {
  126. //                log.error(ex.getMessage(), ex);
  127. //            }
  128.         }
  129.         return po;
  130.     }
  131.     public Object loadOneObjectBySQL(String hql) throws DAOException {
  132.         List list = this.loadObjectListBySQL(hql, 0, 1);
  133.         if (list.size() > 0) {
  134.             return list.get(0);
  135.         } else {
  136.             return null;
  137.         }
  138.     }
  139.     public List loadObjectBySQL(String hql, Object[] params, Type[] types) throws
  140.             DAOException {
  141.         List ls = new ArrayList(0);
  142.         Session session = null;
  143.         try {
  144.             session = HibernateUtil.currentSession();
  145.             ls = session.find(hql, params, types);
  146.         } catch (UnresolvableObjectException uoe) {
  147.             log.info(uoe.getMessage(), uoe);
  148.         } catch (HibernateException he) {
  149.             throw new DAOException("HibernateException:" + he.getMessage(), he);
  150.         } catch (Exception ex) {
  151.             throw new DAOException("Exception:" + ex.getMessage(), ex);
  152.         }
  153.         return ls;
  154.     }
  155.     public List loadObjectListBySQL(String hql) throws DAOException {
  156.         List ls = new ArrayList(0);
  157.         Session session = null;
  158.         try {
  159.             session = HibernateUtil.currentSession();
  160.             ls = session.find(hql);
  161.         } catch (UnresolvableObjectException uoe) {
  162.             log.info(uoe.getMessage(), uoe);
  163.         } catch (HibernateException he) {
  164.             throw new DAOException("HibernateException:" + he.getMessage(), he);
  165.         } catch (Exception ex) {
  166.             throw new DAOException("Exception:" + ex.getMessage(), ex);
  167. //      }finally{
  168. //        try{
  169. //          HibernateUtil.closeSession();
  170. //        }catch(Exception ex){
  171. //          log.error(ex.getMessage(), ex);
  172. //        }
  173.         }
  174.         return ls;
  175.     }
  176.     public List loadObjectListBySQL(String hql, Object[] params, Type[] types,
  177.                                     int start, int top) throws DAOException {
  178.         List ls = new ArrayList(0);
  179.         Session session = null;
  180.         try {
  181.             session = HibernateUtil.currentSession();
  182.             Query query = session.createQuery(hql);
  183.             for (int i = 0; i < params.length; i++) {
  184.                 query.setParameter(i, params[i], types[i]);
  185.             }
  186.             query.setFirstResult(start);
  187.             query.setMaxResults(top);
  188.             ls = query.list();
  189.         } catch (UnresolvableObjectException uoe) {
  190.             log.info(uoe.getMessage(), uoe);
  191.         } catch (HibernateException he) {
  192.             throw new DAOException("HibernateException:" + he.getMessage(), he);
  193.         } catch (Exception ex) {
  194.             throw new DAOException("Exception:" + ex.getMessage(), ex);
  195. //      }finally{
  196. //        try{
  197. //          HibernateUtil.closeSession();
  198. //        }catch(Exception ex){
  199. //          log.error(ex.getMessage(), ex);
  200. //        }
  201.         }
  202.         return ls;
  203.     }
  204.     public List loadObjectListBySQL(String hql, int start, int top) throws
  205.             DAOException {
  206.         List ls = new ArrayList(0);
  207.         Session session = null;
  208.         try {
  209.             session = HibernateUtil.currentSession();
  210.             Query query = session.createQuery(hql);
  211.             query.setFirstResult(start);
  212.             query.setMaxResults(top);
  213.             ls = query.list();
  214.         } catch (UnresolvableObjectException uoe) {
  215.             log.info(uoe.getMessage(), uoe);
  216.         } catch (HibernateException he) {
  217.             throw new DAOException("HibernateException:" + he.getMessage(), he);
  218.         } catch (Exception ex) {
  219.             throw new DAOException("Exception:" + ex.getMessage(), ex);
  220. //      }finally{
  221. //        try{
  222. //          HibernateUtil.closeSession();
  223. //        }catch(Exception ex){
  224. //          log.error(ex.getMessage(), ex);
  225. //        }
  226.         }
  227.         return ls;
  228.     }
  229.     public List loadAllObjects(Class cls) throws DAOException {
  230.         List ls = null;
  231.         Session session = null;
  232.         try {
  233.             session = HibernateUtil.currentSession();
  234.             ls = session.find(getQuerySQL(cls));
  235.             if (ls == null)
  236.                 ls = new ArrayList(0);
  237.         } catch (UnresolvableObjectException uoe) {
  238.             log.info(uoe.getMessage(), uoe);
  239.         } catch (HibernateException he) {
  240.             throw new DAOException("HibernateException:" + he.getMessage(), he);
  241.         } catch (Exception ex) {
  242.             throw new DAOException("Exception:" + ex.getMessage(), ex);
  243. //        } finally {
  244. //            try {
  245. //                HibernateUtil.closeSession();
  246. //            } catch (Exception ex) {
  247. //                log.error(ex.getMessage(), ex);
  248. //            }
  249.         }
  250.         return ls;
  251.     }
  252.     public int executeDelete(String hql) throws DAOException{
  253.         Session session = null;
  254.         try {
  255.             session = HibernateUtil.currentSession();
  256.             return session.delete(hql);
  257.         } catch (UnresolvableObjectException uoe) {
  258.             log.info(uoe.getMessage(), uoe);
  259.         } catch (HibernateException he) {
  260.             throw new DAOException("HibernateException:" + he.getMessage(), he);
  261.         } catch (Exception ex) {
  262.             throw new DAOException("Exception:" + ex.getMessage(), ex);
  263.         }
  264.         return -1;
  265.     }
  266.     protected String getQuerySQL(Class cls) {
  267.         log.debug("from " + cls.getName() + " s");
  268.         return "from " + cls.getName() + " s";
  269.     }
  270. }