springboot + mybatisPlus 多数据源配置实例
1、思路
- yml中配置多个数据源
- 通过AOP切面控制,动态切换不同数据源
- 配合Druid和mybatisPlus使用
2、关键代码
yml文件
server:
port: 8080
servlet:
context-path: /
tomcat:
uri-encoding: UTF-8
spring:
aop:
proxy-target-class: true
auto: true
datasource:
druid:
db1:
url: jdbc:mysql://localhost:3306/test?zeroDateTimeBehavior=convertToNull&characterEncoding=utf8&useSSL=false&serverTimezone=UTC
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
initialSize: 5
minIdle: 5
maxActive: 20
db2:
url: jdbc:mysql://192.168.1.126:3306/test?characterEncoding=utf8&useSSL=false
username: root
password: 123456
driver-class-name: com.mysql.cj.jdbc.Driver
initialSize: 5
minIdle: 5
maxActive: 20
MybatisPlusConfig
package com.example.demo.config;
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder;
import com.baomidou.mybatisplus.core.MybatisConfiguration;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean;
import com.example.demo.common.DBTypeEnum;
import com.example.demo.common.DynamicDataSource;
import org