1、依赖
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.5.1</version>
</dependency>
2、application.properties文件配置
#基本配置
spring.datasource.dynamic.primary=master
spring.datasource.dynamic.strict=true
#主数据源
spring.datasource.dynamic.datasource.master.url=jdbc:p6spy:mysql://ip01:3306/db01?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false&useTimezone=true&serverTimezone=GMT%2B8&allowMultiQueries=true
spring.datasource.dynamic.datasource.master.username=user01
spring.datasource.dynamic.datasource.master.password=password01
spring.datasource.dynamic.datasource.master.driver-class-name=com.p6spy.engine.spy.P6SpyDriver
#数据源一
spring.datasource.dynamic.datasource.db0000001.url=jdbc:p6spy:mysql://ip02:3306/db02?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false&useTimezone=true&serverTimezone=GMT%2B8&allowMultiQueries=true
spring.datasource.dynamic.datasource.db0000001.username=user02
spring.datasource.dynamic.datasource.db0000001.password=password02
spring.datasource.dynamic.datasource.db0000001.driver-class-name=com.p6spy.engine.spy.P6SpyDriver
3、XXmapper.java和XXmapper.xml这些文件按照正常加注解正常放合适位置能扫描到就行,我们已master为主数据源,db0000001为特殊的数据源之一,所以如果要使用到db0000001数据源的,就需要在对应的XXmapper.java文件中加上如下的注解即可:
@Mapper
public interface EventMapper extends BaseMapper<EventEntity> {
@DS("db0000001")
List<EventVo> getEvents(@Param("entity") EventQueryVo request);
}
4、success!!!