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

hibernate之工具类

时间:2016-12-09 00:26:59      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:nfa   异常   线程   close   static   factor   figure   open   import   

package util;

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

/**
 * Hibernate工具类
 * 作用: 获取session与关闭session
 * @author 尹涛
 *
 */
public class HibernateUtil {
    // 创建私有 静态 线程对象
    private static ThreadLocal<Session> TLSession = new ThreadLocal<Session>();
    // 定义私有 静态conguration对象
    private static Configuration configuration;
    // 定义 私有 静态 sessionfactory对象
    private static SessionFactory sessionFactory;
    
    // 静态域: 在使用该类时,默认加载内容
    static{
        try {
            // 读取解析hibernate.cfg.xml文件
            configuration = new Configuration().configure();
            // 解析*.hbm.xml文件
            sessionFactory = configuration.buildSessionFactory();
            
        } catch (Exception e) {
            System.out.println("初始化加载异常");
            e.printStackTrace();
        }
    }
    
    /**
     * 获取session对象
     * @return    session
     */
    public static Session currentSession(){
        // 获取当前线程中的session对象
        Session session = TLSession.get();
        // 验证session对象是否为空
        if (session == null) {
            // 使用工厂对象生产session对象
            session = sessionFactory.openSession();
            // 将session对象放入线程
            TLSession.set(session);
        }
        return session;
    }
    
    public static void closeSession(){
        // 获取当前线程中的session对象
        Session session = TLSession.get();
        // 清空线程中的session对象
        TLSession.set(null);
        // 验证session是否为空
        if (session != null) {
            // 关闭session对象
            session.close();
        }
    }
}

 

hibernate之工具类

标签:nfa   异常   线程   close   static   factor   figure   open   import   

原文地址:http://www.cnblogs.com/AnotherEon001/p/6146948.html

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