Spring多个数据源配置

<!--配置数据源 -->
<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource"
      destroy-method="close">
    <property name="driverClassName" value="${magneto.jdbc.driverClassName}"/>
    <property name="url" value="${magneto.jdbc.url}"/>
    <property name="username" value="${magneto.jdbc.username}"/>
    <property name="password" value="${magneto.jdbc.password}"/>
    <!-- 连接池启动时的初始值 -->
    <property name="initialSize" value="${magneto.jdbc.maxIdle}"/>
    <!-- 连接池的最大值 -->
    <property name="maxActive" value="${magneto.jdbc.maxActive}"/>
    <!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->
    <property name="minIdle" value="1"/>
    <property name="filters" value="config,stat"/>
    <property name="connectionProperties" value="config.decrypt=true"/>
</bean>

<bean id="transactionManager"
      class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource"/>
</bean>

<tx:annotation-driven transaction-manager="transactionManager"/>

<bean id="magnetoSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="configLocation" value="classpath:config/mybatis-config.xml"/>
</bean>
<bean id="mybatisMapperScanner" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.***.crm.dao.magneto"/>
    <property name="sqlSessionFactoryBeanName" value="magnetoSqlSessionFactory" />
</bean>


<!--配置数据源 2 -->
<bean id="dataSource2" class="com.alibaba.druid.pool.DruidDataSource"
      destroy-method="close">
    <property name="driverClassName" value="${robot.jdbc.driverClassName}"/>
    <property name="url" value="${robot.jdbc.url}"/>
    <property name="username" value="${robot.jdbc.username}"/>
    <property name="password" value="${robot.jdbc.password}"/>
    <!-- 连接池启动时的初始值 -->
    <property name="initialSize" value="${robot.jdbc.maxIdle}"/>
    <!-- 连接池的最大值 -->
    <property name="maxActive" value="${robot.jdbc.maxActive}"/>
    <!-- 最小空闲值.当空闲的连接数少于阀值时,连接池就会预申请去一些连接,以免洪峰来时来不及申请 -->
    <property name="minIdle" value="1"/>
    <property name="filters" value="config,stat"/>
    <property name="connectionProperties" value="config.decrypt=true"/>
</bean>

<bean id="transactionManager2"
      class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
    <property name="dataSource" ref="dataSource2"/>
</bean>
<tx:annotation-driven transaction-manager="transactionManager2"/>
<bean id="robotSqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource2"/>
    <property name="configLocation" value="classpath:config/mybatis-config.xml"/>
</bean>
<bean id="mybatisMapperScanner2"  class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.***.crm.dao.robot, com.***.crm.dao.kb"/>
    <property name="sqlSessionFactoryBeanName" value="robotSqlSessionFactory" />
</bean>

<bean id="mybatisMapperScanner4" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="com.***.crm.dao.knowledge"/>
    <property name="sqlSessionFactoryBeanName" value="robotSqlSessionFactory" />
</bean>

猜你喜欢

转载自blog.csdn.net/a18827547638/article/details/82883089