码迷,mamicode.com
首页 > Web开发 > 详细

016-hibernateutils模板

时间:2018-03-01 14:49:42      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:pos   date   des   configure   cep   int   gpo   pack   模板   

package ${enclosing_package};

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

/**
 * 
 * <p>
 * Title: HibernateUtil
 * </p>
 * <p>
 * Description:session工具类
 * </p>
 * <p>
 * Company: www.itcast.com
 * </p>
 * 
 * @author 传智.燕青
 * @date 2016年2月2日
 * @version 1.0
 */
public class ${primary_type_name} {

    // 会话工厂,以单例方式管理
    private static SessionFactory sessionFactory;

    // ThreadLocal存储session
    private static ThreadLocal<Session> session = new ThreadLocal<Session>();


    // 以单例方式管理sessionFactory
    static {
        try {
            sessionFactory = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
        } catch (HibernateException e) {
            e.printStackTrace();
            throw new HibernateException("初始化会话工厂失败!");
        }

    }
    //得到一个单例的会话工厂
    public static SessionFactory getSessionFactory(){
        return sessionFactory;
    }
    //获取一个新session
    public static Session openSession(){
        return sessionFactory.openSession();
    }
    
    //获取当前与线程绑定的session,如果获取不到则创建一个新session并与当前线程绑定
//    public static Session getCurrentSession() throws HibernateException {
//        //获取当前线程绑定的session
//        Session s = (Session) session.get();
//        if (s == null) {
//            //创建一个新session
//            s = sessionFactory.openSession();
//            //新session并与当前线程绑定
//            session.set(s);
//        }
//        return s;
//    }
 
    public static Session getCurrentSession() throws HibernateException {
        return sessionFactory.getCurrentSession(); 
    }
    //关闭当前线程绑定的session
//    public static void closeSession() throws HibernateException {
//        //获取当前线程绑定的session
//        Session s = (Session) session.get();
//        if (s != null){
//            //关闭session
//            s.close(); 
//        }
//        session.set(null);
//    }
    
    public static void closeSession() throws HibernateException {
        sessionFactory.getCurrentSession().close();
    }


}

 

016-hibernateutils模板

标签:pos   date   des   configure   cep   int   gpo   pack   模板   

原文地址:https://www.cnblogs.com/jepson6669/p/8487974.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!