1. 程式人生 > >HIbernate -----封裝 工具類 utils(configration---建立sessionFactory--獲得session程式碼重複,封裝程式碼)

HIbernate -----封裝 工具類 utils(configration---建立sessionFactory--獲得session程式碼重複,封裝程式碼)

package com.itheima.utils;

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

//完成Hibernate工具類
//封裝配置檔案讀取操作
//封裝Sessionfactroy建立操作
//封裝session獲得操作

public class HibernateUtils {

    private static SessionFactory sf;
    


    static{
        //1載入配置
        Configuration  conf = new Configuration().configure();
        //2 根據Configuration 配置資訊建立 SessionFactory
        sf = conf.buildSessionFactory();

        // 關閉虛擬機器時,釋放(關閉)SessionFactory
        Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() {
            
            @Override
            public void run() {
                System.out.println("虛擬機器關閉!釋放資源");
                sf.close();

            }
        }));
        
    }
    
    
    public static org.hibernate.Session  openSession(){
                
                //3 獲得session
                Session session = sf.openSession();
                
                return session;
    }
    
    public static org.hibernate.Session  getCurrentSession(){
        //3 獲得session
        Session session = sf.getCurrentSession();
        
        return session;
}
    
    public static void main(String[] args) {
        System.out.println(openSession());
    }
}