Magic-api 简单配置多数据源(mysql)

本文介绍了如何在实际开发中使用SpringBoot和dynamic-datasource-spring-boot-starter库实现多数据源配置,包括修改application.yml文件、创建DataSourceConfig类以及配置MagicDynamicDataSource以动态切换数据源。还展示了如何通过接口测试验证配置效果。
摘要由CSDN通过智能技术生成

实际开发中实现多数据源配置,需要在默认配置中浅做修改

1.导入依赖

<!-- 动态数据源 -->
<dependency>  
    <groupId>com.baomidou</groupId>  
    <artifactId>dynamic-datasource-spring-boot-starter</artifactId>  
    <version>3.5.2</version>  
</dependency>  
<!-- alibaba Driud数据库连接池 -->
<dependency>  
    <groupId>com.alibaba</groupId>  
    <artifactId>druid-spring-boot-starter</artifactId>  
    <version>1.2.20</version>  
</dependency>

2.修改application.yml文件

修改前

db:
  conn:
    str: useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
spring:  
  datasource:  
	driver-class-name: com.mysql.cj.jdbc.Driver  
	jdbc-url: jdbc:mysql://127.0.0.1:3306/magic_test?${db.conn.str}  
	username: root  
	password: 2333  

修改后

db:
  conn:
    str: useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai
spring:  
  datasource:  
    m1:  
      driver-class-name: com.mysql.cj.jdbc.Driver  
      jdbc-url: jdbc:mysql://127.0.0.1:3306/magic_test1?${db.conn.str}  
      username: root  
      password: 2333  
    m2:  
      driver-class-name: com.mysql.cj.jdbc.Driver  
      jdbc-url: jdbc:mysql://127.0.0.1:3306/magic_test2?${db.conn.str}  
      username: root  
      password: 2333

3.创建多数据配置文件 DataSourceConfig.java

@Configuration  
public class DataSourceConfig {  

  
    @Primary  //标记主数据源,当存在多个DataSource Bean时,默认使用该数据源
    @Bean(name = "m1")  //创建一个名为"m1"的DataSource Bean
    @Qualifier("m1")  
    @ConfigurationProperties(prefix = "spring.datasource.m1")  //将属性文件配置注入到DataSource实例中
    public DataSource magicDataSource(){  
        return DataSourceBuilder.create().build();  
    }  
  
    @Bean(name = "m2")  
    @Qualifier("m2")  
    @ConfigurationProperties(prefix = "spring.datasource.m2")  
    public DataSource pmDataSource(){  
        return DataSourceBuilder.create().build();  
    }  
    
    // 创建一个MagicDynamicDataSource类型的Bean,用于管理多个数据源并实现动态切换
    @Bean  
    public MagicDynamicDataSource magicDynamicDataSource(){  
        MagicDynamicDataSource dynamicDataSource = new MagicDynamicDataSource();
        // 将默认数据源设置为m1,并将m2的DataSource加入到动态数据源管理器中
        dynamicDataSource.setDefault(magicDataSource());  
        dynamicDataSource.add("m2",pmDataSource());  
        return dynamicDataSource;  
    }  
}

4.magic-api接口测试

在这里插入图片描述
测试结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值