springboot配置mysql多数据源,实现读写分离

1、引入依赖

 <!-- 连接池 -->
 <dependency>
     <groupId>com.alibaba</groupId>
     <artifactId>druid-spring-boot-starter</artifactId>
     <version>1.1.10</version>
 </dependency>
 <dependency>
     <groupId>com.baomidou</groupId>
     <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
     <version>3.2.0</version>
 </dependency>

2、修改yml配置

server:
  port: 8888
spring:
  datasource:
    dynamic:
      primary: master # 默认使用数据库
      datasource:
        master: ######################主数据库配置(写入)##############
          url: jdbc:mysql://ip:3307/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
          username: root
          password: root
          driver-class-name: com.mysql.jdbc.Driver
          type: com.alibaba.druid.pool.DruidDataSource
        slave: ######################从库(读取)##############
          url: jdbc:mysql://ip:3308/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=UTC
          username: root
          password: root
          driver-class-name: com.mysql.jdbc.Driver
          type: com.alibaba.druid.pool.DruidDataSource
      durid:
        initial-size: 1
        max-active: 20
        min-idle: 1
        max-wait: 60000
  autoconfigure: # 去除druid配置
    exclude:  com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure 

3、切换数据源

使用@DS("slave")切换成从机数据库
在这里插入图片描述
还可以写在mapper层
在这里插入图片描述

4、测试

访问不加注解的(默认master)
在这里插入图片描述
访问加@DS(“slave”)注解的
在这里插入图片描述

5、读写分离

mysql已完成主从复制,主从复制可看: https://blog.csdn.net/qq_48721706/article/details/122520672

查询表时加上@DS注解,使用从表
操作表就还是默认的

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值