Spring多个数据源配置(不考虑事务)

       有时候需要我们连接多个数据库操作,如果不考虑事务,可以参考以下的配置:(考虑事务需要使用Spring路由器数据源方法,需要继承AbstractRoutingDataSource这里不做详解)

1  对应 的mapper接口 注意包名的命名规则  (不然扫描包的时候会扫到多个包,一定要保证只扫到某个包)

 

2 对用的mapper.xml (保证一次只扫描某个文件夹)

 

3 spring 的数据源配置

<!--配置和创建jdbc数据源(Boomsing主库) -->
	<bean id="dataSourceBoomsing" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
		<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
		
		 <!-- 本地 -->
	<!-- 	<property name="url" value="jdbc:mysql://xxx:20006/boomsing?characterEncoding=UTF-8" />
			<property name="username" value="" />
			<property name="password" value="" /> -->
		 

		
		<!-- 配置初始化大小、最小、最大 -->
		<property name="initialSize" value="1" />
		<property name="minIdle" value="10" />
		<property name="maxActive" value="100" />
		<!-- 配置获取连接等待超时的时间 -->
		<property name="maxWait" value="10000" />
		<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
		<property name="timeBetweenEvictionRunsMillis" value="300000" />
		<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
		<property name="minEvictableIdleTimeMillis" value="600000" />
		<property name="testWhileIdle" value="true" />

	
	 </bean>

	<!-- myibatis配置,使其支持注解和配置文件形式 -->
	<bean id="sqlSessionFactoryBoomsing" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSourceBoomsing" />
		<property name="configLocation" value="classpath:mybatis.xml" />
		<property name="typeAliasesPackage" value="com.tecno.Boomsing.model.boomsing" />
		<property name="mapperLocations" value="classpath:boomsing-mapping/*mapper.xml" />
	</bean>
	<bean name="mapperScannerConfigurerBoomsing" 
		class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.tecno.Boomsing.mapper.boomsing" />
		<property name="sqlSessionFactory" ref="sqlSessionFactoryBoomsing"></property>
	</bean


	<!-- 产品主库 -->
	<bean id="dataSourceMusic" class="com.alibaba.druid.pool.DruidDataSource"
		init-method="init" destroy-method="close">
		<property name="driverClassName" value="com.mysql.jdbc.Driver" />


		<!-- 本地 -->
<!-- 	<property name="url" value="jdbc:mysql://xxx/palmmusic_item?characterEncoding=UTF-8" />
		<property name="username" value="" />
		<property name="password" value="" /> -->
		
		

		<!-- 配置初始化大小、最小、最大 -->
		<property name="initialSize" value="1" />
		<property name="minIdle" value="10" />
		<property name="maxActive" value="100" />
		<!-- 配置获取连接等待超时的时间 -->
		<property name="maxWait" value="10000" />
		<!-- 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒 -->
		<property name="timeBetweenEvictionRunsMillis" value="300000" />
		<!-- 配置一个连接在池中最小生存的时间,单位是毫秒 -->
		<property name="minEvictableIdleTimeMillis" value="600000" />
		<property name="testWhileIdle" value="true" />

	</bean>


	<!-- myibatis配置,使其支持注解和配置文件形式 -->
	<bean id="sqlSessionFactoryMusic" class="org.mybatis.spring.SqlSessionFactoryBean">
		<property name="dataSource" ref="dataSourceMusic" />
		<property name="configLocation" value="classpath:mybatis.xml" />
		<property name="mapperLocations" value="classpath:mybatis-mapping/*mapper.xml" />
	</bean>
	<bean name="mapperScannerConfigurerMusic" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
		<property name="basePackage" value="com.tecno.Boomsing.mapper.palmmusicitem" />
		<property name="sqlSessionFactory" ref="sqlSessionFactoryMusic"></property>
	</bean>
	
	
<!--事务注解-->
	 <tx:annotation-driven/>
	 <!-- 事务管理器 -->  
	 <bean id="transactionManager"  
	        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
             <!-- 这里只能引用一个数据源 所以不能支持所有的数据源 需要用spring的路由器数据源 -->   
	        <property name="dataSource" ref="dataSourceMusic" />  
	 </bean> 

4 你需要对哪个数据库操作时,操作对应的mapper即可。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值