手机
当前位置:查字典教程网 >编程开发 >Java >java自定义动态链接数据库示例
java自定义动态链接数据库示例
摘要:复制代码代码如下:packagedao;importorg.hibernate.HibernateException;importorg.h...

复制代码 代码如下:

package dao;

import org.hibernate.HibernateException;

import org.hibernate.Session;

import org.hibernate.cfg.Configuration;

/**

* @author minxuenetcn

*/

public class HibernateSessionFactory {

private final ThreadLocal<Session> threadLocal = new ThreadLocal<Session>();

private Configuration configuration = new Configuration();

private org.hibernate.SessionFactory sessionFactory;

/**

* hibernate.cfg.xml

* @param configFile

*/

public void setConfiguration(String configFile){

this.configuration=new Configuration();

configuration.configure(configFile);

}

/**

* Returns the ThreadLocal Session instance.

* @return Session

* @throws HibernateException

*/

public Session getSession() throws HibernateException {

Session session = (Session) threadLocal.get();

if (session == null || !session.isOpen()) {

if (sessionFactory == null) {

rebuildSessionFactory();

}

session = (sessionFactory != null) ? sessionFactory.openSession()

: null;

threadLocal.set(session);

}

return session;

}

/**

* Rebuild hibernate session factory

*

*/

public void rebuildSessionFactory() {

try {

sessionFactory = this.configuration.buildSessionFactory();

} catch (Exception e) {

System.err

.println("%%%% Error Creating SessionFactory %%%%");

e.printStackTrace();

}

}

/**

* Close the single hibernate session instance.

*

* @throws HibernateException

*/

public void closeSession() throws HibernateException {

Session session = (Session) threadLocal.get();

threadLocal.set(null);

if (session != null) {

session.close();

}

}

/**

* return session factory

*

*/

public org.hibernate.SessionFactory getSessionFactory() {

return sessionFactory;

}

/**

* return hibernate configuration

*/

public Configuration getConfiguration() {

return configuration;

}

}

【java自定义动态链接数据库示例】相关文章:

java小数位的例子

java中实现汉字按照拼音排序(示例代码)

java连接sql server 2008数据库代码

java自定义注解接口实现方案

java连接mysql数据库详细步骤解析

java连接mysql数据库乱码的解决方法

java从mysql导出数据的具体实例

java使用jdbc链接Oracle示例类分享

java反射机制示例详解

用Java实现希尔排序的示例

精品推荐
分类导航