手机
当前位置:查字典教程网 >编程开发 >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调用百度定位api服务获取地理位置示例

java配置dbcp连接池(数据库连接池)示例分享

Java parseInt解释加方法示例

java 获取数据库连接的实现代码

Java获取网络文件并插入数据库的代码

Java自定义简单标签实例

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

Java 自定义错误类示例代码

java小数位的例子

精品推荐
分类导航