一个简单的Hibernate工具类HibernateUtil

HibernateUtil

 1 package com.wj.app.util;
 2
 3 import org.hibernate.Session;
 4 import org.hibernate.SessionFactory;
 5 import org.hibernate.cfg.Configuration;
 6 import org.hibernate.service.ServiceRegistry;
 7 import org.hibernate.service.ServiceRegistryBuilder;
 8
 9 public class HibernateUtil {
10     public static final SessionFactory sessionFactory;
11     //ThreadLocal可以隔离多个线程的数据共享,因此不需要对线程进行同步
12     public static ThreadLocal<Session> session = new ThreadLocal<Session>();
13     static
14     {
15         //使用默认配置文件创建Configuration实例
16         Configuration cfg = new Configuration()
17                                  .configure();
18
19         //以Configuration实例来创建SessionFactory实例
20         ServiceRegistry serviceRegistry = new ServiceRegistryBuilder()
21                                                .applySettings(cfg.getProperties())
22                                                .buildServiceRegistry();
23
24         /*ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder()
25         .applySettings(cfg.getProperties()).build();*/
26
27         sessionFactory = cfg.buildSessionFactory(serviceRegistry);
28     }
29     public static Session currentSession() {
30
31         Session s = session.get();
32         //如果该线程还没有Session,则创建一个新的Session
33         if (s == null)
34         {
35             s = sessionFactory.openSession();
36             //将获得的Session变量存储在ThreadLocal变量session里
37             session.set(s);
38         }
39         return s;
40     }
41
42     public static void clossSession() {
43         Session s = session.get();
44         if (s != null)
45         {
46             s.close();
47         }
48         session.set(null);
49     }
50 }
时间: 2024-10-21 11:34:50

一个简单的Hibernate工具类HibernateUtil的相关文章

hibernate工具类HibernateUtil详解

1.为什么要用hibernateUtil这个类,先看这段代码:  //加载配置文件信息默认为hiberna.cfg.xml,如果不是的话那么就在config()方法里面去解析他      Configuration config = new Configuration();      config.config();      //创建工厂      SessionFactory factory = config.bulidSessionFactory();      //得到session  

编写一个简单的正则表达式工具类

跟着视频的讲解,也亲手敲了这么一个正则表达式的类,感觉很不错,真是温故而知新,本来想把注释写的逼格高一点的,今天晚了有点累,先简单的写一下,有时间了再完善完善. <?php class regexTool{ //内置一些常用的正则表达式 private $validate = array( 'require'   =>  '/.+/', 'email'     =>  '/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/', 'url'    

使用Resources类搭建Unity简单的资源管理工具类

Unity资源加载的方式有: 1.脚本拖拽(本地) 2.Resources加载(本地) ★ 3.AssetBundle加载(本地,远程[www])★ 本篇将使用Resources类搭建一个简单的资源管理工具类 Resources是Unity下的特殊文件夹,使用需自行创建Resources文件夹(命名必须正确) 使用Resources文件夹就需要用到Resources类的一些方法,如下: Resources类 Load 从Resources文件夹加载单个资源(可指定类型) LoadAll 从Res

Hibernate学习——建立一个简单的Hibernate项目

最近老师让做个web小应用,大三的时候学习过一点J2EE的东西,也做过一些web相关的XXX管理系统,都是用servlet,jsp这些完成的,虽然勉强能够完成任务,但其中各种代码掺杂在一起,不好看而且维护起来也很麻烦,出了一点问题要调试好久才能解决.这次打算让自己多学一点东西,在项目的架构上我使用了struts2实现了多层代码的分离,在数据库方面,因为以往的经历都需要对连接数据库进行一个封装,里面包含有数据库的连接,记录的添加,查询,修改和删除等操作,每次使用的过程中都需要先实现一个连接对象然后

PHP实现的一个简单的数据库操作类

PHP实现的一个简单的数据库操作类 实现的功能: - 在实例化的时候能设置连接字符集 - 在实例化的时候能连接数据库 - 在实例化的时候能选择默认数据库 - 销毁对象时关闭数据库 代码如下: <?php // 数据库操作类MySQLDB class MySQLDB { // 声明属性 private $server; private $username; private $password; public $default_db; public $link; // 声明构造函数 public f

C# 一个简易的Producer-Consumer工具类

一.关于本文 本文中实现的PCHelper类是一个简易的Producer-Consumer操作工具类.该类可以实现如下目标:由多个线程向其中的一个Queue中写入数据,同时由多个线程负责接收Queue中数据进行处理. 二.工具类代码 /// <summary> /// Producer-Consumer操作类 /// </summary> public class PCHelper {     readonly object listlock = new object(); //线

一个简单的参数校验类

当我们写js的重载函数的时候,我们需要判断不同的输入情况. 而,一般我们是根据参数的个数来判断的,但是,常常情况并非如此: function abc(a,b,c) a:string b:number c:boolean 或者 a:string b:string c:number 这两种情况都是参数个数为3,但是参数类型却完全不同.如何的方便的构建一个重载函数呢? 用我的类即可: 类代码(很简短): var Param = { varify: function (oParam, sParamTyp

自己打造了一个简单的站长工具

自己打造了一个简单的站长工具 站长工具:www.fanguzai.net/

PHP实现的一个简单的数据库操作类(修改版)

PHP实现的一个简单的数据库操作类 实现的功能: - 在实例化的时候能设置连接字符集 - 在实例化的时候能连接数据库 - 在实例化的时候能选择默认数据库 - 销毁对象时关闭数据库 代码如下: <?php // 数据库操作类MySQLDB class MySQLDB { // 声明属性 private $server; private $port; private $username; private $password; public $default_db; private $charset;