Hibernate provides session tool class HibernateUtils

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(); // a loader 
        cfg.configure(); // load the default location core configuration file 
        sessionFactory = cfg.buildSessionFactory(); // a session factory threadLocal 
        = new ThreadLocal<Session> ();
    }

    
    public static Session getSession() {
        
        Session session=threadLocal.get();
        if(session==null) {
            cfg.configure(); // Load default core configuration file 
            session = sessionFactory.openSession(); // Create 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);
                
            }});
    }
}

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326401103&siteId=291194637