zoukankan      html  css  js  c++  java
  • Hibernate 提供session的工具类HibernateUtils

    package cn.itcast.utils;
    
    import java.sql.Connection;
    import java.sql.SQLException;
    
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;
    import org.hibernate.jdbc.Work;
    
    public class HibernateUtils {
        
        private static Configuration cfg;
        private static SessionFactory sessionFactory;
        private static ThreadLocal<Session> threadLocal;
        
        static {
            cfg = new Configuration();//一个加载器
            cfg.configure();//加载默认位置核心配置文件
            sessionFactory = cfg.buildSessionFactory();//一个session工厂
            threadLocal=new ThreadLocal<Session>();
        }
    
        
        public static Session getSession() {
            
            Session session=threadLocal.get();
            if(session==null) {
                
                session = sessionFactory.openSession();//创建session
                threadLocal.set(session);
                session=threadLocal.get();
            }
            return session;
        }
        
        public static void main(String[] args) {
            Session session = getSession();
            session.doWork(new Work() {
    
                @Override
                public void execute(Connection con) throws SQLException {
                    // TODO Auto-generated method stub
                    System.out.println(con);
                    
                }});
        }
    }
  • 相关阅读:
    设计模式
    jQuery回到顶部插件jQuery GoUp
    CentOS7+Tomcat 生产系统部署
    iOS 时间戳转换为时间
    iOS开发系列--Swift 3.0
    IOS
    iOS之宏定义#define
    #define和预编译指令
    iOS宏定义的使用与规范
    ios十进制、十六进制字符串,byte,data等之间的转换
  • 原文地址:https://www.cnblogs.com/qingyundian/p/9015946.html
Copyright © 2011-2022 走看看