mybatis 多数据源 TDataSource required a single bean, but 2 were found

情况说明:

  1. 项目中本来就有一个数据源了,运行的好好的
  2. 后来又合并了另一个项目,另一个项目也配置了数据源。

于是出现了如下错误:

  1. mybatis 多数据源 TDataSource required a single bean, but 2 were found

解决方法:

复制代码
禁用自动配置:exclude = DataSourceAutoConfiguration.class
  1. 重写代码配置DataSource 和mapperConfig,已经事务管理器
java 复制代码
/**
     * 创建动态数据源的SqlSessionFactory,传入的是动态数据源
     * @Primary这个注解很重要,如果项目中存在多个SqlSessionFactory,这个注解一定要加上
     */
    @Primary
    @Bean("sqlSessionFactory2")
    public SqlSessionFactory sqlSessionFactoryBean(DynamicDataSource dynamicDataSource) throws Exception {
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        sqlSessionFactoryBean.setDataSource(dynamicDataSource);
        org.apache.ibatis.session.Configuration configuration = new org.apache.ibatis.session.Configuration();
        configuration.setMapUnderscoreToCamelCase(true);
        configuration.setDefaultFetchSize(100);
        configuration.setDefaultStatementTimeout(30);
        sqlSessionFactoryBean.setConfiguration(configuration);
        return sqlSessionFactoryBean.getObject();
    }

ok!

相关推荐
微尘83 分钟前
C语言存储类型 auto,register,static,extern
服务器·c语言·开发语言·c++·后端
VaporGas6 分钟前
idea集成和使用Git指南
java·git·intellij-idea
liangbm310 分钟前
MATLAB系列05:自定义函数
开发语言·笔记·matlab·教程·函数·自定义函数·按值传递
计算机学姐10 分钟前
基于PHP的电脑线上销售系统
开发语言·vscode·后端·mysql·编辑器·php·phpstorm
三玖诶19 分钟前
如何在 Qt 的 QListWidget 中为某一行添加点击事件
开发语言·qt
InJre26 分钟前
QT widgets 窗口缩放,自适应窗口大小进行布局
开发语言·qt·ui
阿乾之铭28 分钟前
spring MVC 拦截器
java·spring·mvc
可愛小吉29 分钟前
Python 课程10-单元测试
开发语言·python·单元测试·tdd·unittest
码爸31 分钟前
flink 批量写clickhouse
java·clickhouse·flink
djgxfc33 分钟前
简单了解Maven与安装
java·maven