springboot+mybatisPlus+druid配置多数据源

转载自清蒸菠菜的博客

引入maven包

核心依赖如下

<!--mybatis plus 多数据源扩展-->
<dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
      <version>2.5.7</version>
</dependency>
<!--mysql 驱动-->
<dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>${mysql.version}</version>
      <scope>runtime</scope>
</dependency>
<!--mybatis-->
<dependency>
      <groupId>com.baomidou</groupId>
      <artifactId>mybatis-plus-boot-starter</artifactId>
      <version>${mybatis.plus.version}</version>
</dependency>
<!--druid 连接池-->
<dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>druid-spring-boot-starter</artifactId>
      <version>${druid.version}</version>
</dependency>

配置文件

核心配置文件如下

spring:
  application:
    name: xxx
  profiles:
    #引入mybatis配置文件
    include: mybatis
  datasource:
    #连接池配置
    druid:
      stat-view-servlet:
        enabled: true
        loginUsername: admin
        loginPassword: 123456
    #mybatis plus 多数据源配置
    dynamic:
      #默认数据源
      primary: db1
      datasource:
        db1:
          password: ${password}
          url: ${dburl}
          driver-class-name: com.mysql.jdbc.Driver
          username: ${username}
        db2:
          password: ${password}
          url: ${dburl}
          idle-timeout: 20000
          driver-class-name: com.mysql.jdbc.Driver
          username: ${username}

代码

配置类

首先在Application类中移除druid的自动配置类

@SpringBootApplication(exclude = {DruidDataSourceAutoConfigure.class})
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

mapper

mapper文件照常配置即可

service

@Service
public class TestServiceImpl{
	@Resource
	TestInfoMapper infoMapper;

	@Override
	@DS("db2") //默认使用db1,配置使用db2
	public TestInfo findOneCs() {
		return infoMapper.findOneById(1);
	}
}

以上就是多数据源的配置

猜你喜欢

转载自www.cnblogs.com/skyli665/p/12970909.html