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);
	}
}

以上就是多數據源的配置


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM