mybatis连接多个数据源

1.db.properties配置文件设置


driver:com.mysql.jdbc.Driver
f_url:jdbc:mysql://**:3306/**?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
s_url:jdbc:mysql://**:3306/**?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
user:**
pwd:**



2.mybatis配置文件设置


<!-- 读取db.properties文件的内容 -->
<util:properties id="jdbc" location="classpath:conf/db.properties"/>

<!-- 配置DataSource 1-->
<bean id="f_dbcp" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName"value="#{jdbc.driver}"/>
<property name="url"value="#{jdbc.f_url}"/>
<property name="username"value="#{jdbc.user}"/>
<property name="password"value="#{jdbc.pwd}"/>
</bean>

<!-- 配置DataSource 2-->
<bean id="s_dbcp" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName"value="#{jdbc.driver}"/>
<property name="url"value="#{jdbc.s_url}"/>
<property name="username"value="#{jdbc.user}"/>
<property name="password"value="#{jdbc.pwd}"/>
</bean>

<!-- 定义SqlSessionFactory 1-->
<bean id="f_ssf" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="f_dbcp"></property>
<property name="mapperLocations" value="classpath:mapper/UserMapper.xml"></property>
</bean>

<!-- 定义SqlSessionFactory 2-->
<bean id="s_ssf" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="s_dbcp"></property>
<property name="mapperLocations" value="classpath:mapper/ReceiptMapper.xml"></property>
</bean>

注:定义2个MapperScannerConfigurer 时要保证两个映射dao接口不能处于同一个包下。不然会发生找不到第二个dao接口方法异常
<!-- 定义MapperScannerConfigurer 1 -->
<bean id="f" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="f_ssf"></property>
<property name="basePackage" value="**"></property>
</bean>

<!-- 定义MapperScannerConfigurer 2 -->
<bean id="s" class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="sqlSessionFactoryBeanName" value="s_ssf"></property>
<property name="basePackage" value="**"></property>
</bean>


3.mapper配置文件设置

数据源1

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"      
 "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<mapper namespace="接口映射位置">

<insert id="saveEnt" parameterType="**">
insert into 
trans_receive
(
**

values
(
**
)
</insert>

</mapper>


数据源2

<?xml version="1.0" encoding="UTF-8" ?>  
<!DOCTYPE mapper PUBLIC "-//ibatis.apache.org//DTD Mapper 3.0//EN"      
 "http://ibatis.apache.org/dtd/ibatis-3-mapper.dtd">
<mapper namespace="接口映射位置">

<select id="findById" parameterType="string" resultType="**">
select * from 
**
where 
**
</select>


</mapper>


注:带**需要自行修改


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值