hibernateutil.java

来自「SSH 的分页...是新手的一个不错例子.」· Java 代码 · 共 49 行

JAVA
49
字号
package com.placard.core.common.hibernate;

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

public class HibernateUtil {
	private static Log log = LogFactory.getLog(HibernateUtil.class);
	private static final String HIBERNATE_CONFIG_FILE_LOCATION = "hibernate.cfg.xml";
	private static final SessionFactory sessionFactory;

	static {
		try {
			sessionFactory = new Configuration().configure(HIBERNATE_CONFIG_FILE_LOCATION)
					.buildSessionFactory();
		} catch (Throwable ex) {
			log.error("Initial SessionFactory creation failed.", ex);
			throw new ExceptionInInitializerError(ex);
		}
	}

	public static final ThreadLocal<Session> session = new ThreadLocal<Session>();

	// 得到session
	public static Session getSession() throws HibernateException {
		Session s = session.get();
		// Open a new Session, if this Thread has none yet
		if (s == null) {
			s = sessionFactory.openSession();
			session.set(s);
		}
		return s;
	}

	// 关闭session
	public static void closeSession() throws HibernateException {
		Session s = (Session) session.get();
		session.set(null);
		if (s != null)
			s.close();
	}
	public static void main(String[] args){
		System.out.print(HibernateUtil.getSession());
	}
}

⌨️ 快捷键说明

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