springmvc+ibatis 配置多数据源

来源:互联网 发布:安卓手机优化 编辑:程序博客网 时间:2024/06/01 08:45

配置文件代码块如下

<!--    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部分引入数据源

@Repositorypublic class ScanResultDaoImpl implements ScanResultDao{    @Autowired    @Qualifier("sqlMapClient1")    private SqlMapClient sqlMap = null;}@Repositorypublic 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")
0 0