zoukankan      html  css  js  c++  java
  • 一个简单的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 }
  • 相关阅读:
    平摊分析的应用
    平摊分析--势能法
    平摊分析--会计法
    平摊分析--聚集法
    算法设计与分析总结
    动态规划--前缀动态规划问题
    【例】动态规划--最长回文序列问题
    分治法--中位数与顺序统计量
    动态规划--数轴动态规划问题
    pymssql模块官方文档的翻译
  • 原文地址:https://www.cnblogs.com/goingforward/p/5756395.html
Copyright © 2011-2022 走看看