本篇主要记录对ShardingSphere的整合,SpringBoot+Mybatis的整合详见之前的文章https://blog.csdn.net/qq_39946015/article/details/120549447
对于ShardingSphere的整合,主要是进行配置,配置正确,shardingSphere就能够自动的帮我们做读写分离。
application.yml
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.zym.week07.mutlids2.entity
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
password: root
url: jdbc:mysql://192.168.87.112:3308/ds0?characterEncoding=UTF-8&serverTimezone=UTC
username: root
shardingsphere:
datasource:
common:
driver-class-name: com.mysql.cj.jdbc.Driver
jdbc-url: jdbc:mysql://192.168.87.112:3308/ds0
password: root
type: com.zaxxer.hikari.HikariDataSource
username: root
master:
jdbc-url: jdbc:mysql://192.168.87.112:3308/ds0
names: master,slave0
slave0:
jdbc-url: jdbc:mysql://192.168.87.112:3309/ds0
props:
sql-show: true
rules:
replica-query:
data-sources:
ms:
load-balancer-name: round-robin
primary-data-source-name: master
replica-data-source-names: slave0
load-balancers:
round-robin:
props:
workId: 1
type: ROUND_ROBIN
代码结构参考整合mybatis这篇文章https://blog.csdn.net/qq_39946015/article/details/120549447即可,之后查询数据会自动从slave中查询,写数据会自动写入master。
注意:要实现数据一致的话,最好先搭建一下mysql主从复制。搭建步骤可以参考这位兄弟的文章https://blog.csdn.net/wyg1973017714/article/details/112601802