当前位置: 移动技术网 > IT编程>开发语言>Java > Hibernate 提供session的工具类HibernateUtils

Hibernate 提供session的工具类HibernateUtils

2018年05月10日  | 移动技术网IT编程  | 我要评论
package cn.itcast.utils;

import java.sql.Connection;
import java.sql.SQLException;

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

public class HibernateUtils {
    
    private static Configuration cfg;
    private static SessionFactory sessionFactory;
    private static ThreadLocal<Session> threadLocal;
    
    static {
        cfg = new Configuration();//一个加载器
        cfg.configure();//加载默认位置核心配置文件
        sessionFactory = cfg.buildSessionFactory();//一个session工厂
        threadLocal=new ThreadLocal<Session>();
    }

    
    public static Session getSession() {
        
        Session session=threadLocal.get();
        if(session==null) {
            cfg.configure();//加载默认核心配置文件
            session = sessionFactory.openSession();//创建session
            threadLocal.set(session);
            session=threadLocal.get();
        }
        return session;
    }
    
    public static void main(String[] args) {
        Session session = getSession();
        session.doWork(new Work() {

            @Override
            public void execute(Connection con) throws SQLException {
                // TODO Auto-generated method stub
                System.out.println(con);
                
            }});
    }
}

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网