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

最新文章

  1. 彻底卸载MySQL数据库教程
  2. javascript_basic_02之数据类型、分支结构
  3. [Cordova] 无法显示Alert视窗
  4. WindowsPhone开发—— 使用手绘图片做景区导览地图
  5. 一天一个mysql函数(一) cast && convert
  6. js library
  7. Css Div半透明
  8. Hibernate(六)——多对多关联映射
  9. 《C++ Primer Plus》学习笔记10
  10. psy 2
  11. URL特殊字符需转义
  12. 小程序从后台输出的代码为HTML实体字符如何解决?
  13. windows下gitbash安装教程
  14. laravel之url跳转
  15. DevOps 工程师实际上是做什么的
  16. ZOJ4062 Plants vs. Zombies(二分+贪心)
  17. 数据库之mysql练习
  18. ibatis.net:在VS中支持xml智能提示
  19. 为什么有时候PHP没有闭合标签结束符 ?>
  20. 词袋模型bow和词向量模型word2vec

热门文章

  1. Oracle 同环比排除分母0
  2. POJ2774 Long Long Message 【后缀数组lcp】
  3. hadoop基础----hadoop实战(七)-----hadoop管理工具---使用Cloudera Manager安装Hadoop---Cloudera Manager和CDH5.8离线安装
  4. Spring源码解析-基于注解依赖注入
  5. 注意@Bean中的initMethod和destroyMethod
  6. 买卖股票的最佳时机 [ leetcode ]
  7. CI框架浅析
  8. Java 处理 XML 的三种主流技术及介绍
  9. 通过AWS的DHCP自动获取的IP地址是否会发生改变?
  10. c++(类继承)示例[仅用于弱弱的博主巩固知识点用哦,不好勿喷]