> 文档中心 > springboot配置mysql多数据源,实现读写分离

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: 8888spring:  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注解,使用从表
操作表就还是默认的

字库吧