zoukankan      html  css  js  c++  java
  • HibernateUtil的编写,主要是建立数据库的连接

    package com.yh.entity;
    
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;
    
    public class HibernateUtil {
        // 初始化一个ThreadLocal对象
        private static final ThreadLocal<Session> sessionTL = new ThreadLocal<Session>(); // 1
        private static Configuration configuration;
        private final static SessionFactory sessionFactory;
        static {
            try {
                configuration = new Configuration().configure();
                sessionFactory = configuration.buildSessionFactory();
            } catch (Throwable ex) {
                ex.printStackTrace();
                throw new ExceptionInInitializerError(ex);
            }
        }
        public static Session currentSession() {
            //sessionTL的get()方法根据当前线程返回其对应的线程内部变量,
            //也就是我们需要的Session,多线程情况下共享数据库链接是不安全的。
            //ThreadLocal保证了每个线程都有自己的Session。
            Session session = (Session) sessionTL.get(); // 2
            // 如果session为null,则打开一个新的session
            if (session == null) { // 3
                //创建一个数据库连接对象session。
                session = sessionFactory.openSession(); // 4
                // 保存该数据库连接session到ThreadLocal中。
                sessionTL.set(session); // 5
            }
            //如果当前线程已经访问过数据库了,
            //则从sessionTL中get()就可以获取该线程上次获取过的数据库连接对象。
            return session; // 6
        }
        public static void closeSession(){
            Session session = (Session) sessionTL.get(); // 2
            sessionTL.set(null);
            if(session!=null)
                session.close();
        }
    
    }

    建立与数据库的连接,打开session,和关闭session,每次用时可以直接使用

  • 相关阅读:
    树莓派使用记录 修改国内软件源《二》
    树莓派使用记录 安装系统《一》
    C# 委托 Action 实现代码执行时间日志记录
    微软 Visual Studio 离线下载
    项目框架搭建工具
    WebApi 重写 DefaultHttpControllerSelector 实现路由重定向
    开发相关网页收藏
    造SQL语句
    报错:Every derived table must have its own alias
    html
  • 原文地址:https://www.cnblogs.com/jimorulang/p/5551899.html
Copyright © 2011-2022 走看看