公司准备把报表数据库从MySQL迁到TiDB,先用几个功能试点。于是在系统上需要配置多个数据源。之前在上家公司用MyBatis时配置过4个数据源,MyBatis Plus下应该是大同小异。不出意外的话就要出意外,结果还是踩了坑。
环境
MyBatis Plus版本:3.0.6
配置
项目中使用shardingjdbc管理数据源,这里只贴其中一个配置
@Bean("tidbSqlSessionFactory") public SqlSessionFactoryBean getTidbSqlSessionFactory(@Autowired ApplicationContext context, @Autowired MetaObjectHandler metaObjectHandler) throws Exception { MasterSlaveDataSource dataSource = (MasterSlaveDataSource) context.getBean(DataSource.class); DataSource tidbDataSource = dataSource.getConnection().getDataSourceMap().get("ds-tidb"); SqlSessionFactoryBean bean = new SqlSessionFactoryBean(); bean.setDataSource(tidbDataSource); List<ClassPathResource> resourceList = new ArrayList<>(); String path = MybatisPlusConfig.class.getResource("/mapper2").getPath(); FileUtils.scan(path, f -> { if