⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hibernatesessionfactory.java

📁 ext2+spring+hibernate+dwr做的小系统
💻 JAVA
字号:
package com.newsoft.hibernate;

import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.logging.Log;

public class HibernateSessionFactory {
	private static Log log = LogFactory.getLog(HibernateSessionFactory.class);

	private static SessionFactory sessionFactory;
	static {
		try {
			sessionFactory = new Configuration()
					.configure("/hibernate.cfg.xml").buildSessionFactory();
		} catch (HibernateException ex) {
			log.error("加载ythibernate.cfg.xml失败");
		}
	}

	/**
	 * 假如没有一个可用的线程,开启一个新 Session
	 */
	public static final ThreadLocal session = new ThreadLocal();

	public static Session currentSession() throws HibernateException {
		Session s = (Session) session.get();
		try {
			if (s == null) {
				s = sessionFactory.openSession(); // conn
				session.set(s);
				log.debug("加载hbm.xml成功!");
			}
		} catch (Exception e) {
			e.printStackTrace();
			log.error("加载hbm.xml失败");
		}
		return s;
	}

	/**
	 * 关闭数据库
	 * 
	 * @throws HibernateException
	 */
	public static void closeSession() {
		try {
			Session s = (Session) session.get();
			session.set(null);
			if (s != null)
				s.close();
			log.debug("关闭 SessionFactory!");
		} catch (Exception ex) {
			ex.printStackTrace();
			log.error("会话关闭异常");
		}
	}

	public static void main(String arg[]) throws HibernateException {
		HibernateSessionFactory.currentSession();
		HibernateSessionFactory.closeSession();

	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -