Hibernate获取Connection

2014-11-24 10:41:08 · 作者: · 浏览: 0

package com.trendcom.base.util;

import java.sql.Connection;
import java.sql.SQLException;

import javax.sql.DataSource;

import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate4.SessionFactoryUtils;
import org.springframework.web.context.ContextLoaderListener;

public class DataSourceUtil {

private static SessionFactory sessionFactory=null;

static{
sessionFactory=(SessionFactory) ContextLoaderListener.getCurrentWebApplicationContext().getBean("sessionFactory");
}


public static Connection getConnection(){
try {
return getDataSource().getConnection();
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}


public static SessionFactory getSessionFactory() {
return sessionFactory;
}

public static void setSessionFactory(SessionFactory sessionFactory) {
DataSourceUtil.sessionFactory = sessionFactory;
}


private static DataSource getDataSource() {
return SessionFactoryUtils.getDataSource(getSessionFactory());
}

}