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();
        }
    }
  • 相关阅读:
    Thread的run方法和start方法
    35. Search Insert Position
    Error:(1, 1) java: 非法字符: 'ufeff'
    final修饰的变量是引用不可变,还是对象不可变
    数组与练习
    java反射机制【转】
    Socket
    面向对象的设计原则和设计模式
    多线程
    为什么有时候修改了css文件,页面的样式却没有改变?
  • 原文地址:https://www.cnblogs.com/luruiyuan/p/6417356.html
Copyright © 2011-2022 走看看