1. package ${enclosing_package};
  2.  
  3. import org.hibernate.HibernateException;
  4. import org.hibernate.Session;
  5. import org.hibernate.SessionFactory;
  6. import org.hibernate.cfg.Configuration;
  7.  
  8. /**
  9. *
  10. * <p>
  11. * Title: HibernateUtil
  12. * </p>
  13. * <p>
  14. * Description:session工具类
  15. * </p>
  16. * <p>
  17. * Company: www.itcast.com
  18. * </p>
  19. *
  20. * @author 传智.燕青
  21. * @date 2016年2月2日
  22. * @version 1.0
  23. */
  24. public class ${primary_type_name} {
  25.  
  26. // 会话工厂,以单例方式管理
  27. private static SessionFactory sessionFactory;
  28.  
  29. // ThreadLocal存储session
  30. private static ThreadLocal<Session> session = new ThreadLocal<Session>();
  31.  
  32. // 以单例方式管理sessionFactory
  33. static {
  34. try {
  35. sessionFactory = new Configuration().configure("hibernate.cfg.xml").buildSessionFactory();
  36. } catch (HibernateException e) {
  37. e.printStackTrace();
  38. throw new HibernateException("初始化会话工厂失败!");
  39. }
  40.  
  41. }
  42. //得到一个单例的会话工厂
  43. public static SessionFactory getSessionFactory(){
  44. return sessionFactory;
  45. }
  46. //获取一个新session
  47. public static Session openSession(){
  48. return sessionFactory.openSession();
  49. }
  50.  
  51. //获取当前与线程绑定的session,如果获取不到则创建一个新session并与当前线程绑定
  52. // public static Session getCurrentSession() throws HibernateException {
  53. // //获取当前线程绑定的session
  54. // Session s = (Session) session.get();
  55. // if (s == null) {
  56. // //创建一个新session
  57. // s = sessionFactory.openSession();
  58. // //新session并与当前线程绑定
  59. // session.set(s);
  60. // }
  61. // return s;
  62. // }
  63.  
  64. public static Session getCurrentSession() throws HibernateException {
  65. return sessionFactory.getCurrentSession();
  66. }
  67. //关闭当前线程绑定的session
  68. // public static void closeSession() throws HibernateException {
  69. // //获取当前线程绑定的session
  70. // Session s = (Session) session.get();
  71. // if (s != null){
  72. // //关闭session
  73. // s.close();
  74. // }
  75. // session.set(null);
  76. // }
  77.  
  78. public static void closeSession() throws HibernateException {
  79. sessionFactory.getCurrentSession().close();
  80. }
  81.  
  82. }

016-hibernateutils模板的更多相关文章

  1. Jade模板引擎让你飞

    写在前面:现在jade改名成pug了 一.安装 npm install jade 二.基本使用 1.简单使用 p hello jade! 渲染后: <p>hello jade!</p ...

  2. ABP入门系列(2)——通过模板创建MAP版本项目

    一.从官网创建模板项目 进入官网下载模板项目 依次按下图选择: 输入验证码开始下载 下载提示: 二.启动项目 使用VS2015打开项目,还原Nuget包: 设置以Web结尾的项目,设置为启动项目: 打 ...

  3. CMS模板应用调研问卷

    截止目前,已经有数十家网站与我们合作,进行了MIP化改造,在搜索结果页也能看到"闪电标"的出现.除了改造方面的问题,MIP项目组被问到最多的就是:我用了wordpress,我用了织 ...

  4. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  5. 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送

    微信支付之微信模板消息推送                    今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...

  6. OpenCV模板匹配算法详解

    1 理论介绍 模板匹配是在一幅图像中寻找一个特定目标的方法之一,这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否“相似”,当相似度足够高时,就认为找到了我们的目标.OpenCV ...

  7. 前端MVC学习总结(一)——MVC概要与angular概要、模板与数据绑定

    一.前端MVC概要 1.1.库与框架的区别 框架是一个软件的半成品,在全局范围内给了大的约束.库是工具,在单点上给我们提供功能.框架是依赖库的.AngularJS是框架而jQuery则是库. 1.2. ...

  8. ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案

    好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...

  9. ThinkPHP 模板substr的截取字符串函数

    ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...

  10. DDD领域驱动设计 - 设计文档模板

    设计文档模板: 系统背景和定位 业务需求描述 系统用例图 关键业务流程图 领域语言整理,主要是整理领域中的各种术语的定义,名词解释 领域划分(分析出子域.核心域.支撑域) 每个子域的领域模型设计(实体 ...

随机推荐

  1. Sqlserver风格规范

    常见的字段类型选择 1.字符类型建议采用varchar/nvarchar数据类型 2.金额货币建议采用money数据类型 3.科学计数建议采用numeric数据类型 4.自增长标识建议采用bigint ...

  2. B. Spreadsheets(进制转换,数学)

    B. Spreadsheets time limit per test 10 seconds memory limit per test 64 megabytes input standard inp ...

  3. wx-xcx

    一.因测试小程序,搜索了各种测试小程序的注意点,为方便后续查看,暂时整理罗列如下: 1.留意分享功能的权限:如果某页面对游客访问有权限限制,则需要设置取消其分享功能. 2.小程序强制更新功能:新版小程 ...

  4. 关联关系的接口+unittest实现关联接口

    关联关系的接口: import requests def login(): url = 'http://ip/api/user/login' data = {'username':'niuhang', ...

  5. spring 学习(二):spring bean 管理--配置文件和注解混合使用

    spring 学习(二)spring bean 管理--配置文件和注解混合使用 相似的,创建 maven 工程,配置pom.xml 文件,具体可以参考上一篇博文: sprint 学习(一) 然后我们在 ...

  6. docker镜像的创建

    获得更多资料欢迎进入我的网站或者 csdn或者博客园 昨天讲解了docker的安装与基本使用,今天给大家讲解下docker镜像的创建的方法,以及push到Docker Hub docker安装请点击右 ...

  7. php 百万级数据文件导出

    背景:最近一个需求是从mysql里面读取数据(有点大),然后导出为csv文件 问题 :发现导出的过程中自己中断了,没有报错 . 第一反应是测试导出一个小一点的数据(少查几条),发现没问题 . 查看导出 ...

  8. pycharm中设置工程

    1.设置pycharm多工程以及工程的依赖关系: a.在打开工程时候,选中add current open projects(添加到项目中),   b.设置(settings)->project ...

  9. Android SharedPreferences应用实例(记录App的使用次数)

    1.介绍 2.使用方法 3.java后台 package com.lucky.test46sharedpreferences_apply; import android.content.SharedP ...

  10. 基于中间件的RBAC权限控制

    RBAC 是什么 RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联. 在 Django 中,权限就是用户对一个包含正则表达式 url ...