hibernate 简单封装
package com.wode.util;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtil {
	private static SessionFactory  sessionFactory=null;
	
	static{
		try {
			Configuration configuration = new Configuration().configure();
			sessionFactory=configuration.buildSessionFactory();
		} catch (Exception e) {
			// TODO: handle exception
			System.out.println("加载Hibernate失败");
			e.printStackTrace();
		}
	}
	//开启session对象
	public static Session openSession() throws HibernateException {
		Session session = sessionFactory.openSession();
		return session;
	}
	//关闭session对象
	public static void closeSession(Session session) throws HibernateException {
		if(session!=null){
			session.close();
		}
	}
	//线程不安全
	
}
//线程安全的hibernate 封装加入 ThreadLocal
package com.wode.util;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
/**
 * 线程安全hibernate
 * @author Administrator
 *ThreadLocal 实现资源的 复制 以空间换时间
 */
public class HibernateSaveUtil {
private static SessionFactory  sessionFactory=null;
	//本地化线程ThreadLocal
	private static ThreadLocal<Session> localSession = null;
	static{
		try {
			Configuration configuration = new Configuration().configure();
			sessionFactory=configuration.buildSessionFactory();
			localSession = new ThreadLocal<Session>();
		} catch (Exception e) {
			// TODO: handle exception
			System.out.println("加载Hibernate失败");
			e.printStackTrace();
		}
	}
	public static Session OpenSession()throws HibernateException {
		Session session = localSession.get();
		if(session==null){
			session=sessionFactory.openSession();
			localSession.set(session);
		}
		return session;
	}
	public static void  CloseSession()throws HibernateException {
		Session session=localSession.get();
		if(session!=null){
			session.close();
		}
		localSession.set(null);
	}
}
                    
                
                
            
        
浙公网安备 33010602011771号