开发者社区 问答 正文

mybatis 配置两个数据源,mapper绑定时候只能绑定一个403.10 禁止访问:配置无效 

mybatis 配置两个数据源,mapper绑定时候只能绑定一个,另一个绑定失败。报错。出了本身配置数据源还有没有其他的操作???求大神帮助!!

 <!-- sqlSessionFactory --> <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!-- 数据库连接池 --> <property name="dataSource" ref="dataSource" /> <!-- 加载mybatis的全局配置文件 --> <property name="mapperLocations" value="classpath*:com/qt/mapper/*.xml" />   </bean> <!-- mapper扫描器 --> <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!-- 扫描包路径,如果需要扫描多个包,中间使用半角逗号隔开 -->

展开
收起
kun坤 2020-05-28 13:25:32 600 分享 版权
1 条回答
写回答
取消 提交回答
    1. 可以分别不同的xml文件,每个都有独立的数据源,类似主从读写分离的配置,通过sqlSession去获取不同的mapper,只是在获取mapper的时候相对繁琐点
    2. 在同一个xml文件配置多个数据源,然后扫描不同的mapper指向不同的dao层,使用的时候可以根据需求引用不同的interface
    ######这种方式貌似可以,写起来确实好麻烦。######配置多个数据源时事务只有第一个起作用,其他的都不起作用的,需要自己搭一个分布式事务管理器,还是有些麻烦的,所以慎用多个数据源。######回复 @Venus_sun : 绑定没问题的,之前我们项目就是配置了两个数据源,都是正常的,只是事务存在问题######回复 @huang_chao_hui : 感觉不是事务影响的我不用xml用dao层注解就没有问题,他现在绑定就有问题,看有人说绑定时候spring区分的好像是有问题,我也没看源码
    2020-05-28 16:21:30
    赞同 展开评论