当前位置: 移动技术网 > IT编程>开发语言>Java > java自定义动态链接数据库示例

java自定义动态链接数据库示例

2019年07月22日  | 移动技术网IT编程  | 我要评论

复制代码 代码如下:

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; 
    } 
}

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网