zoukankan      html  css  js  c++  java
  • 使用 Hibernate 完成 HibernateUtils 类 (适用于单独使用Hibernate或Struts+Hibernate)

    package com.istc.Utilities;
    
    import org.hibernate.Session;
    import org.hibernate.SessionFactory;
    import org.hibernate.cfg.Configuration;
    import org.springframework.stereotype.Repository;
    
    import javax.annotation.Resource;
    import java.io.File;
    
    /**
     * Created by lurui on 2017/2/3 0003.
     * Hibernate版本为5.2.7Final
     */
    public class HibernateUtils {
        @Resource
        private static SessionFactory sessionFactory;
        private static Session session;
    
        private HibernateUtils(){
        }
    
    //    交给Spring管理后, 不需要进行hibernate的sessionFactory的管理
    //    否则用一下的代码对hibernate进行初始化
        static {
            Configuration cfg = new Configuration().configure(new File("src\com.istc.config\hibernate.cfg.xml"));
            sessionFactory = cfg.buildSessionFactory();
        }
    
        /**
         * 获取数据库Session对象
         */
        public static Session getSession(){
            //如果当前线程有session则返回该session
            //如果没有则创建,且自动关闭session,必须要代码中显式关闭session
            return sessionFactory.getCurrentSession();
        }
    
        /**
         * 关闭数据库Session对象
         */
        public static void closeSession(){
            if (session != null && session.isOpen())
                session.close();
        }
    
        /***
         * 关闭传入的数据库Session对象
         */
        public static void closeSession(Session session){
            if (session != null && session.isOpen())
                session.close();
        }
    
        /**
         * 关闭整个hibernate的sessionFactory
         */
        public static void close(){
            if(sessionFactory !=null && sessionFactory.isOpen())
                sessionFactory.close();
        }
    }
  • 相关阅读:
    手撸ORM浅谈ORM框架之Add篇
    手撸ORM浅谈ORM框架之基础篇
    C#深入浅出获取时间DateTime
    win10安装OpenSSL及简单的使用
    .net core执行dotnet ef migrations createmodel等命令出错
    C#文字转换语音朗读或保存MP3、WAV等格式
    .Net上传图片压缩质量,不改变尺寸
    二叉平衡树
    线索排序树
    大数乘法
  • 原文地址:https://www.cnblogs.com/luruiyuan/p/6417356.html
Copyright © 2011-2022 走看看