系列文章目录
前言
这里讲一个抽取工具类的思想
一、Hibernate的工具类抽取讲解
以前我们写数据库连接的时候,我们写过一个DbUtils工具类
那么我们的hibernate也可以写一个工具类
一般工具类我们都是写成静态的
静态代码块就是你第一次使用这个类的时候它就会调用
至此完毕
接下来我们看看怎么使用
关闭完会话之后我们怎么关闭工厂呢?我们这里的思路是监听程序结束之后把它关闭
完整代码:
package com.gyf.hibernate.uitls;
import org.dom4j.rule.Rule;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
public class HibernateUtils {
private static SessionFactory factory;
static{
//1.获取核心 配置文件对象
Configuration cfg = new Configuration().configure();
//2.创建会话工厂
factory = cfg.buildSessionFactory();
//监听程序关闭
Runtime.getRuntime().addShutdownHook(new Thread(){
@Override
public void run() {
System.out.println("程序关闭...");
//关闭会话工厂
factory.close();
}
});
}
public static Session openSession(){
return factory.openSession();
}
public static Session getCurrentSession(){
return factory.getCurrentSession();
}
}
调用代码:
实际使用中
总结
1、一般工具类我们都是写成静态的,这样使用的时候就比较方便
2、静态代码块就是你第一次使用这个类的时候它就会调用,所以静态代码块我们是经常会使用到的