springboot 多数据源
以注解方式
不同数据源在不同的java中
注解MapperScan指定SqlSessionFactory,添加sqlSessionFactoryRef =“xxxxxx”
e.g:
数据源1:
@Configuration
@EnableTransactionManagement
@MapperScan(basePackages = {"com.abc.xxx.dao.db1"},sqlSessionFactoryRef = "xxxSqlSessionFactory")
public class xxxAutoConfigure {
..........
@Bean(name = "xxxSqlSessionFactory")
public SqlSessionFactory sqlSessionFactory(@Qualifier("xxxDataSource") DataSource dataSource) throws Exception {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dataSource);
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/xxx/*.xml"));
return bean.getObject();
}
..........
}
数据源2:
@Configuration
@EnableTransactionManagement
@MapperScan(basePackages = {"com.abc.xxx.dao.db2"},sqlSessionFactoryRef = "yyySqlSessionFactory")
public class yyyAutoConfigure {
..........
@Bean(name = "yyySqlSessionFactory")
public SqlSessionFactory sqlSessionFactory(@Qualifier("yyyDataSource") DataSource dataSource) throws Exception {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(dataSource);
bean.setMapperLocations(new PathMatchingResourcePatternResolver().getResources("classpath:mapper/yyy/*.xml"));
return bean.getObject();
}
..........
}