hibernate的SessionUtils类的编写

这篇文章介绍的是hibernate中的一种SessionUtils类的编写,如有错误或者不当之处,还望各位大神批评指正。

前言

在hibernate中使用初始化设置以及创造SessionFactory对象不仅编写起来繁琐,而且效率比较低,因此就需要一个SessionUtils类来解决这个问题,在创建的时候初始化设置和SessionFactory,使用时直接提供session,使用完关闭session以及SessionFactory。

SessionUtil编写

public class SessionUtil {

    static SessionFactory factory = null ;
    static {
        //将耗时较久的操作放到静态块中只初始化一次
        Configuration config = new Configuration().configure() ;
        ServiceRegistry serviceRegistry = new ServiceRegistryBuilder().applySettings(config.getProperties()).buildServiceRegistry()
                                              .getParentServiceRegistry() ;
        factory = config.buildSessionFactory(serviceRegistry) ;

    }

    public static Session openSession (){
        //创建会话
        return factory.openSession() ;
    }
    public static void closeSession(Session session){
        //关闭会话
        session.close() ;
        factory.close();
    }
}

使用

创建session

Session session = SessionUtil.openSession() ;

关闭session

SessionUtil.closeSession(session) ;

猜你喜欢

转载自blog.csdn.net/u013634252/article/details/80738974