主题:多数据源情况下,注入的dao 不能匹配到正确的数据源

闲大赋 2019年07月28日 71

springboot 集成里有说多数据源配置,

beetlsql.ds.b.basePackage=com.xxx.xxxdao
beetlsql.ds.c.basePackage=com.xxx.yyydao
闲大赋 2019年07月29日
beetlsql.ds.primary.basePackage: com.codejoy.demo.dao
beetlsql.ds.ds1.basePackage: com.codejoy.demo.ds1.dao
beetlsql.ds.ds2.basePackage: com.codejoy.demo.ds2.dao

你这个不是yml格式吧

你可以打开BeetlMapperMutipleScannerRegister,在registerBeanDefinitions方法打个断点,

for (String dbSource : sources) {
   String masterSource = dbSource;
   BeetlSqlProperties ps = new BeetlSqlProperties(env, masterSource);
   scanner.setSqlManagerFactoryBeanName(masterSource + "SqlManagerFactoryBean");
   scanner.setSuffix(ps.getDaoSuffix());
   scanner.registerFilters();
   scanner.doScan(ps.getBasePackage().split(","));
}

看看你配置的是否已经被doScan了

闲大赋 2019年07月30日

我都已经给你贴代码了,打个断点就知道了

  • imini :谢谢~(2019年07月31日)