spring boot 上可以配置多源数据库,因此我们可以在application.properties上这么配置
#数据库a
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/a
spring.datasource.username=root
spring.datasource.password=root
#数据库b
spring.b.type=com.alibaba.druid.pool.DruidDataSource
spring.b.driverClassName=com.mysql.jdbc.Driver
spring.b.url=jdbc:mysql://127.0.0.1:3306/b
spring.b.username=root
spring.b.password=root
这样是不是很熟悉?然后现在只是只有一两个源的情况下,那如果有多个源呢?
那这个代码是不是要写多次?这就导致application.properties这个文件特别的大
因此springboot提供了一个属性
spring.profiles.include=datasource,a
这个可以将外部的application-datasource.properties,application-a.properties引入,这样的话,如果我们有多个源的话,只需要添加新的配置文件就可以了
然后还有个问题
@Configuration
@MapperScan(basePackages = {"com.sys.mapper", "com.collection.mapper"},
sqlSessionFactoryRef = "masterSqlSessionFactory")
//@MapperScan(basePackages = {"com.collection.mapper"}, sqlSessionFactoryRef = "masterSqlSessionFactory")
public class DruidConfig {
// mapper路径
//static final String MAPPER_LOCATION = "classpath:mybatis/collection/*Mapper.xml";
static final String MAPPER_LOCATION = "classpath:mybatis/*/*Mapper.xml";
@Value("${spring.datasource.url}")
private String dbUrl;
@Value("${spring.datasource.username}")
private String username;
@Value("${spring.datasource.password}")
private String password;
&