查看完整版本: [-- HibernateUtil.java And DataDAO.java --]

风信Java论坛 ›› Hibernate 讨论专区 ›› HibernateUtil.java And DataDAO.java 登录 -> 注册

1F HibernateUtil.java And DataDAO.java   唧唧 Post by : 2008-08-06 14:10:27.0

HibernateUtil.java

   java代码
  1. package org.javawind.hibernate;  
  2.  
  3. import org.hibernate.HibernateException;  
  4. import org.hibernate.Session;  
  5. import org.hibernate.SessionFactory;  
  6. import org.hibernate.cfg.Configuration;  
  7.  
  8. public class HibernateUtil{  
  9.     private static final SessionFactory sessionFactory;  
  10.     static {  
  11.         try {  
  12.             sessionFactory = new Configuration().configure().buildSessionFactory();  
  13.         }  
  14.         catch (Throwable ex) {  
  15.             throw new ExceptionInInitializerError("Initial SessionFactory creation failed."+ex);  
  16.         }  
  17.     }  
  18.     public static final ThreadLocal<Session> session = new ThreadLocal<Session>();  
  19.       
  20.     public static Session currentSession() throws HibernateException {  
  21.         Session s = session.get(); // Open a new Session, if this Thread has none yet  
  22.         if (s == null) {  
  23.             s = sessionFactory.openSession();  
  24.             session.set(s);  
  25.         }  
  26.         return s;  
  27.     }  
  28.  
  29.     public static void closeSession() throws HibernateException {  
  30.         Session s = session.get();  
  31.         session.set(null);  
  32.         if (s != null){  
  33.             s.close();  
  34.         }  
  35.     }  

 

2F Re:HibernateUtil.java And DataDAO.java   唧唧 Post by : 2008-08-06 14:11:29.0

DataDAO.java

   java代码
  1. package org.javawind.hibernate;  
  2.  
  3. import java.io.Serializable;  
  4. import java.util.ArrayList;  
  5. import java.util.List;  
  6.  
  7. import org.hibernate.HibernateException;  
  8. import org.hibernate.Query;  
  9. import org.hibernate.Session;  
  10. import org.hibernate.Transaction;  
  11.  
  12. public class DataDAO {  
  13.     static Session session=null;  
  14.       
  15.     public static void Update(Object obj){  
  16.         try{  
  17.             if(obj!=null){  
  18.                 session = HibernateUtil.currentSession();  
  19.                 Transaction tx= session.beginTransaction();  
  20.                 session.update(obj);  
  21.                 tx.commit();  
  22.             }  
  23.         }  
  24.         catch (HibernateException e) {  
  25.             e.printStackTrace();  
  26.         }  
  27.         finally{HibernateUtil.closeSession();}  
  28.     }  
  29.       
  30.     public static void UpdateSQL(String SqlStr){  
  31.         try{  
  32.             session = HibernateUtil.currentSession();  
  33.             Transaction tx= session.beginTransaction();  
  34.             Query query = session.createQuery(SqlStr);  
  35.             query.setCacheable(false);  
  36.             query.executeUpdate();  
  37.             tx.commit();  
  38.         }  
  39.         catch (HibernateException e) {  
  40.             e.printStackTrace();  
  41.         }  
  42.         finally{HibernateUtil.closeSession();}  
  43.     }  
  44.       
  45.     public static void Insert(Object obj){  
  46.         try{  
  47.             if(obj!=null){  
  48.                 session = HibernateUtil.currentSession();  
  49.                 Transaction tx= session.beginTransaction();  
  50.                 session.save(obj);  
  51.                 tx.commit();  
  52.             }  
  53.         }  
  54.         catch (HibernateException e) {  
  55.             e.printStackTrace();  
  56.         }  
  57.         finally{HibernateUtil.closeSession();}  
  58.     }  
  59.       
  60.     public static void Delete(Object obj){  
  61.         try{  
  62.             if(obj!=null){  
  63.                 session = HibernateUtil.currentSession();  
  64.                 Transaction tx= session.beginTransaction();  
  65.                 session.delete(obj);  
  66.                 tx.commit();  
  67.             }  
  68.         }  
  69.         catch (HibernateException e) {  
  70.             e.printStackTrace();  
  71.         }  
  72.         finally{HibernateUtil.closeSession();}  
  73.     }     
  74.       
  75.     @SuppressWarnings("unchecked")  
  76.     public static List getAll(String SqlStr,boolean cache){  
  77.         List<?> list=new ArrayList();  
  78.         list.clear();  
  79.         try{              
  80.             session = HibernateUtil.currentSession();  
  81.             Transaction tx= session.beginTransaction();  
  82.             Query query=session.createQuery(SqlStr);  
  83.             query.setCacheable(cache);  
  84.             list=query.list();  
  85.             tx.commit();  
  86.         } catch (HibernateException e){  
  87.             e.printStackTrace();  
  88.         }  
  89.         finally{HibernateUtil.closeSession();}  
  90.         return list;  
  91.     }  
  92.       
  93.     @SuppressWarnings("unchecked")  
  94.     public static List<?> Select(String SQLStr,int StartRow,int RowSize){  
  95.         List<?> list=new ArrayList();  
  96.         list.clear();  
  97.         try{  
  98.             session = HibernateUtil.currentSession();  
  99.             Transaction tx= session.beginTransaction();  
  100.             Query query=session.createQuery(SQLStr);  
  101.             query.setFirstResult(StartRow);  
  102.             query.setMaxResults(RowSize);  
  103.             list=query.list();  
  104.             tx.commit();  
  105.         } catch (HibernateException e){  
  106.             e.printStackTrace();  
  107.         }  
  108.         finally{HibernateUtil.closeSession();}  
  109.         return list;  
  110.     }  
  111.       
  112.     public static int RecordCount(String table){  
  113.         session = HibernateUtil.currentSession();  
  114.         String sql = "select count(*) from "+table;  
  115.         Query query =session.createQuery(sql);  
  116.         Transaction tx= session.beginTransaction();  
  117.         try {  
  118.             String result = query.uniqueResult().toString();   
  119.             return Integer.parseInt(result);  
  120.         }  
  121.         catch (Exception e){  
  122.             e.printStackTrace();  
  123.             throw new HibernateException("");  
  124.         }finally {  
  125.             tx.commit();  
  126.             HibernateUtil.closeSession();  
  127.         }  
  128.     }  
  129.       
  130.     public static Object get(Class<?> clsName,Serializable id){  
  131.         Object obj=null;  
  132.         try{              
  133.             session = HibernateUtil.currentSession();  
  134.             obj = session.get(clsName,id);  
  135.         } catch (HibernateException e){  
  136.             e.printStackTrace();  
  137.         }  
  138.         finally{HibernateUtil.closeSession();}  
  139.         return obj;  
  140.     }  

 

3F    唧唧 Post by : 2008-08-06 14:13:01.0

晕死 n u l l 被谁吃了。

有些 = 或者 ==、!= 后面是空白的,应该为 n u l l

4F    千山暮雪 Post by : 2008-08-23 15:47:08.0
颇为标准的范例,
跟配置产生的DAO差不离!
em24

风信Java论坛 ›› Hibernate 讨论专区 ›› HibernateUtil.java And DataDAO.java 登录 -> 注册

查看完整版本: [-- HibernateUtil.java And DataDAO.java --]
CopyRight © 2008-2009 JavaWind.Net Studio All Rights Reserved
Powered By JWind.BBS Vesion 1.0.0 Beta1 Processed in 11 ms,0 (Queries)  Gzip enabled
粤ICP备07511478号