配置文件代码块如下
<!-- oracle 信用卡数据源 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<!-- PostgreSQL 数据源 -->
<bean id="dataSourcePG" class="org.apache.commons.dbcp.BasicDataSource"
destroy-method="close">
<property name="driverClassName" value="${pgjdbc.driverClassName}" />
<property name="url" value="${pgjdbc.url}" />
<property name="username" value="${pgjdbc.username}" />
<property name="password" value="${pgjdbc.password}" />
</bean>
<!-- ibatis数据源 信用卡 -->
<bean id="sqlMapClient1" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="classpath:config/SqlMapConfig.xml" />
<property name="dataSource" ref="dataSource" />
</bean>
<!-- ibatis数据源 postgresql -->
<bean id="sqlMapClient2" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocation" value="classpath:config/sqlMapConfig-PostgreSQL.xml" />
<property name="dataSource" ref="dataSourcePG" />
</bean>
Java部分引入数据源
@Repository
public class ScanResultDaoImpl implements ScanResultDao{
@Autowired
@Qualifier("sqlMapClient1")
private SqlMapClient sqlMap = null;
}
@Repository
public class UserDaoImpl implements UserDao {
@Autowired
@Qualifier("sqlMapClient2")
private SqlMapClient sqlMap = null;
}
说明
一、
配置文件部分表明了,dataSource和 ibatisClient
不同的dataSource引入不同的sql文件,这样在编写SQL的时候,互不影响。
SqlMapConfig.xml,中是可以引入多个文件的
<sqlMapConfig>
<sqlMap resource="config/ibatis/sqlmap-mapping-user.xml"/>
等等
</sqlMapConfig>
二、
DAO 层在引入ibatisClient时,可以使用如下两个标签,并且指明是哪一个client,
当然如果是一个数据源就不用哪里
@Autowired
@Qualifier("sqlMapClient2")