java自定义动态链接数据库示例
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 sql编辑器 动态报表 数据库备份还原 quartz定时任务调度 自定义表单 java图片爬虫
- java sql编辑器 动态报表 数据库备份还原 quartz定时任务调度 自定义表单 java图片爬虫
- 可以让用户自定义动态链接数据库
- java sql编辑器 动态报表 数据库备份还原 quartz定时任务调度 自定义表单 java图片
- 构建施耐德楼控系统数据库后台服务器示例工程五(JAVA动态生成类)
- 可以让用户自定义动态链接数据库
- Java链接数据库及操作数据库的JavaBean
- JAVA常用数据库的链接方法
- java 卸载动态链接库
- 动态链接多个数据库
- java 链接数据库
- 通过DBCO配置链接信息用Native SQL访问外部数据库的代码示例及其相关notes
- vb.net 自定义数据库链接类(Access)
- java web JNative调用dll动态链接库:和注意方法
- 在Java中利用动态代理实现数据库连接与事务的自动管理
- java获得数据库信息常用API(DatabaseMetaData)示例
- Linux下创建CUDA程序动态链接库示例
- Java jdbc 链接数据库MYSQL问题
- 目前使用的JAVA数据库链接管理类
- Java 调用其他开发语言开发的动态链接库文件(一)