在启动的地方需要加一个注解
@SpringBootApplication(
scanBaePackage={""},
exclude={MybatisAutoConfiguration.class,DataSourceAutoConfiguration.class,DataSourceTransactionManagerConfiguration.class})
@Configuration
@MapperScan(basePackage={},
sqlSessionFactoryRef="asqlSessionFactory"
sqlSessionTemplateRef="aSqlSessionTemplate"
)
public class ADataSourceConfiguration(){
@Bean(name="aDataSource")
@ConfigurationProperties(prefix="spring.datasource.a")
public DataSource aDataSource(){
return DataSourceBuilder.create().build();
}
@Bean(name="asqlSessionFactory")
public SqlSessionFactory sqlSessionFactory(@Qualifier("aDataSource") DataSource datasource,@Value("classpath:sqlmapper/mybatis.xml") Resource configuration){
SqlSessionFactoryBean sqlSessionFactoryBean=new SqlSessionFactoryBean();
sqlSessionFactoryBean.setDataSource(datasource);
sqlSessionFactoryBean.setConfigLoaction(configuration);
return sqlSessionFactoryBean.getObject();
}
@Bean(name="aSqlSessionTemplate")
public SqlSessionTemplate sqlSessionTemplate(@Qualifier("asqlSessionFactory") SqlSessionFactory sqlSessionFactory){
return new SqlSessionTemplate(sqlSessionFactory);
}
@Bean(name="aDataSourceTransactionManager")
public DataSourceTransactionManager transactionManager(@Qualifier("aDataSource") DataSource dataSoure){
return new DataSourceTransactionManager(dataSoure);
}
@Bean(name="aTransactionTemplate")
public TransactionTemplate transactionTemplate(@Qualifier("aDataSourceTransactionManager")DataSourceTransactionManager transactionManager){
return new TransactionTemplate(transactionManager);
}
}
其它的 数据源之需要从 数据源的配置分开就可以了 很简单吧