0
点赞
收藏
分享

微信扫一扫

Java三大框架SSH之Hibernate_001_07:Hibernate的工具类抽取、DbUtils


系列文章目录

文章目录

  • ​​系列文章目录​​
  • ​​前言​​
  • ​​一、Hibernate的工具类抽取讲解​​
  • ​​总结​​

前言

这里讲一个抽取工具类的思想

一、Hibernate的工具类抽取讲解

以前我们写数据库连接的时候,我们写过一个DbUtils工具类

那么我们的hibernate也可以写一个工具类

Java三大框架SSH之Hibernate_001_07:Hibernate的工具类抽取、DbUtils_hibernate


一般工具类我们都是写成静态的

Java三大框架SSH之Hibernate_001_07:Hibernate的工具类抽取、DbUtils_静态代码块_02


静态代码块就是你第一次使用这个类的时候它就会调用

Java三大框架SSH之Hibernate_001_07:Hibernate的工具类抽取、DbUtils_工具类_03


Java三大框架SSH之Hibernate_001_07:Hibernate的工具类抽取、DbUtils_hibernate_04


至此完毕

接下来我们看看怎么使用

Java三大框架SSH之Hibernate_001_07:Hibernate的工具类抽取、DbUtils_静态代码块_05

Java三大框架SSH之Hibernate_001_07:Hibernate的工具类抽取、DbUtils_静态代码块_06


关闭完会话之后我们怎么关闭工厂呢?我们这里的思路是监听程序结束之后把它关闭

Java三大框架SSH之Hibernate_001_07:Hibernate的工具类抽取、DbUtils_工具类_07


Java三大框架SSH之Hibernate_001_07:Hibernate的工具类抽取、DbUtils_工具类_08

Java三大框架SSH之Hibernate_001_07:Hibernate的工具类抽取、DbUtils_静态代码块_09


完整代码:

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();
}

}

调用代码:

Java三大框架SSH之Hibernate_001_07:Hibernate的工具类抽取、DbUtils_hibernate_10


实际使用中

Java三大框架SSH之Hibernate_001_07:Hibernate的工具类抽取、DbUtils_hibernate_11

总结

1、一般工具类我们都是写成静态的,这样使用的时候就比较方便

2、静态代码块就是你第一次使用这个类的时候它就会调用,所以静态代码块我们是经常会使用到的

Java三大框架SSH之Hibernate_001_07:Hibernate的工具类抽取、DbUtils_hibernate_12


举报

相关推荐

0 条评论