- package org.cric.util;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.hibernate.cfg.Configuration;
- public class HibernateUtil {
- private static SessionFactory factory;
- static{//只创建一次,单实例
- try{
- //实例化Configuration对象,configure()方法,默认加载hibernate.hbm.xml文件
- Configuration cfg=new Configuration().configure();
- //虚拟数据库
- factory=cfg.buildSessionFactory();
- }catch(Exception e){
- e.printStackTrace();
- }
- }
- public static SessionFactory getSessionFactory(){//获取SessionFactory对象
- return factory;
- }
- public static Session getSession(){//获取Session对象
- return factory.openSession();
- }
- public static void closeSession(Session session){//关闭Session,因为Session不是线程安全的!
- //线程安全是指多个线程并发时,线程之间不会相互影响
- //比如,在多个线程同时操作对象的某个实例变量时,就回出现不正确的现象
- if(session!=null){
- if(session.isOpen()){
- session.close();
- }
- }
- }
- }
封装HibernateUtil对象,方便的工具类(转)
最新推荐文章于 2021-03-01 15:07:13 发布