展开全部
1:在proxool-conf.xml中配置两e68a84e8a2ad62616964757a686964616f31333339666136个数据库连接池
dataSource_ksmaeaII
jdbc:jtds:sqlserver://192.10.110.192:1433;databaseName=ksmaeaII
net.sourceforge.jtds.jdbc.Driver
100
1
400
20
select getdate()
ds1
jdbc:jtds:sqlserver://192.10.110.192:1433;databaseName=ksmaeaIIdbmove
net.sourceforge.jtds.jdbc.Driver
100
1
400
20
select getdate()
2:要连几个库就配置几个hibernate.cfg.xml,下面我配置两个数据库为例
创建hibernate.cfg.xml:里面写第一个数据库的映射文件(本地数据库),如
resource="com/wisoft/datachange/data/hibernate/dao/SbInfApply.hbm.xml" />
创建hibernate.cfg1.xml:里面写第二个数据库的映射文件(前置库,别人的数据库),如
resource="com/wisoft/datachange/data/hibernate/dao/InfApply.hbm.xml" />
3:创建一个类,继承HibernateDaoSupport。(直接拷过去就能直接用,我的第二个数据库就是用了这里面的factory1,第一个数据库用了Hibernate原来的factory,如果要连多个库,则多创建几个factory)
package com.wisoft.datachange.data;
import org.hibernate.SessionFactory;
import org.springframework.orm.hibernate3.HibernateTemplate;
import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
public class DebugBean extends HibernateDaoSupport {
private SessionFactory factory1;
// private SessionFactory factory2;
protected HibernateTemplate hibernateTemplate1;
// protected HibernateTemplate hibernateTemplate2;
public void setFactory1(SessionFactory factory1) {
this.factory1 = factory1;
}
// public void setFactory2(SessionFactory factory2) {
// this.factory2 = factory2;
// }
public SessionFactory getFactory1() {
return factory1;
}
// public SessionFactory getFactory2() {
// return factory2;
// }
protected HibernateTemplate createHibernateTemplate(SessionFactory sessionFactory) {
return super.createHibernateTemplate(sessionFactory);
}
protected void initDao() throws Exception {
hibernateTemplate1 = super.createHibernateTemplate(factory1);
// hibernateTemplate2 = super.createHibernateTemplate(factory2);
super.initDao();
}
}
4:编写自己的测试BO:在BO里注入DAO,如下
public class InfApplyBO implements IInfApplyBO {
private IInfApplyDAO myInfApplyDAO;
public IInfApplyDAO getMyInfApplyDAO() {
return myInfApplyDAO;
}
public void setMyInfApplyDAO(IInfApplyDAO myInfApplyDAO) {
this.myInfApplyDAO = myInfApplyDAO;
}
//底下编写自己的业务代码
//用this.myInfApplyDAO直接调用Dao层的方法,由DAO对数据库进行操作
}
5:编写自己的测试DAO:继承DebugBean如下
public class MyInfApplyDAO extends DebugBean implements IInfApplyDAO {
//对数据库的操作均可写在这里,可以直接用模版save
//如要对第一个数据库操作,只需this.getHibernateTemplate().find(hql);
//如要对第二个数据库操作,只需hibernateTemplate1.save(obj);就行
//注意:在对数据库操作之前不要忘了写applicationContext.xml的配置文件,看第6步
}
6:写applicationContext.xml的配置文件
org.logicalcobwebs.proxool.ProxoolDriver
proxool.dataSource_ksmaeaII
classpath:hibernate.cfg.xml
org.hibernate.dialect.SQLServerDialect
true
true
auto
dbo
org.logicalcobwebs.proxool.ProxoolDriver
proxool.ds1
classpath:hibernate1.cfg.xml
org.hibernate.dialect.SQLServerDialect
true
true
PROPAGATION_REQUIRED,readOnly
PROPAGATION_REQUIRED,readOnly
PROPAGATION_REQUIRED
PROPAGATION_REQUIRED,readOnly
PROPAGATION_REQUIRED
class="com.wisoft.datachange.data.hibernate.MyInfApplyDAO" parent="debugbean" >
到此,数据库就连起来啦\(^o^)/~
已赞过
已踩过<
你对这个回答的评价是?
评论
收起