使用 Hibernate 完成 HibernateUtils 类 (适用于单独使用Hibernate或Struts+Hibernate)
2024-08-25 12:34:35
package com.istc.Utilities; import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.springframework.stereotype.Repository; import javax.annotation.Resource;
import java.io.File; /**
* Created by lurui on 2017/2/3 0003.
* Hibernate版本为5.2.7Final
*/
public class HibernateUtils {
@Resource
private static SessionFactory sessionFactory;
private static Session session; private HibernateUtils(){
} // 交给Spring管理后, 不需要进行hibernate的sessionFactory的管理
// 否则用一下的代码对hibernate进行初始化
static {
Configuration cfg = new Configuration().configure(new File("src\\com.istc.config\\hibernate.cfg.xml"));
sessionFactory = cfg.buildSessionFactory();
} /**
* 获取数据库Session对象
*/
public static Session getSession(){
//如果当前线程有session则返回该session
//如果没有则创建,且自动关闭session,必须要代码中显式关闭session
return sessionFactory.getCurrentSession();
} /**
* 关闭数据库Session对象
*/
public static void closeSession(){
if (session != null && session.isOpen())
session.close();
} /***
* 关闭传入的数据库Session对象
*/
public static void closeSession(Session session){
if (session != null && session.isOpen())
session.close();
} /**
* 关闭整个hibernate的sessionFactory
*/
public static void close(){
if(sessionFactory !=null && sessionFactory.isOpen())
sessionFactory.close();
}
}
最新文章
- 彻底卸载MySQL数据库教程
- javascript_basic_02之数据类型、分支结构
- [Cordova] 无法显示Alert视窗
- WindowsPhone开发—— 使用手绘图片做景区导览地图
- 一天一个mysql函数(一) cast &;&; convert
- js library
- Css Div半透明
- Hibernate(六)——多对多关联映射
- 《C++ Primer Plus》学习笔记10
- psy 2
- URL特殊字符需转义
- 小程序从后台输出的代码为HTML实体字符如何解决?
- windows下gitbash安装教程
- laravel之url跳转
- DevOps 工程师实际上是做什么的
- ZOJ4062 Plants vs. Zombies(二分+贪心)
- 数据库之mysql练习
- ibatis.net:在VS中支持xml智能提示
- 为什么有时候PHP没有闭合标签结束符 ?>;
- 词袋模型bow和词向量模型word2vec
热门文章
- Oracle 同环比排除分母0
- POJ2774 Long Long Message 【后缀数组lcp】
- hadoop基础----hadoop实战(七)-----hadoop管理工具---使用Cloudera Manager安装Hadoop---Cloudera Manager和CDH5.8离线安装
- Spring源码解析-基于注解依赖注入
- 注意@Bean中的initMethod和destroyMethod
- 买卖股票的最佳时机 [ leetcode ]
- CI框架浅析
- Java 处理 XML 的三种主流技术及介绍
- 通过AWS的DHCP自动获取的IP地址是否会发生改变?
- c++(类继承)示例[仅用于弱弱的博主巩固知识点用哦,不好勿喷]