介绍
Sharding Jdbc是一个用于实现数据库读写分离的框架。
依赖
Sharding Jdbc依赖坐标:
1<dependency>
2 <groupId>org.apache.shardingsphere</groupId>
3 <artifactId>sharding-jdbc-spring-boot-starter</artifactId>
4 <version>4.0.0-RC1</version>
5</dependency>
配置
配置application.yaml:
1spring:
2 sharding-sphere: # 旧版为 shardingsphere
3 datasource: # 数据源有多个,用名称来进行区分
4 names:
5 master,slave # 名称可以自定义,多个名称用','分隔
6 # 主数据源
7 master:
8 type: com.alibaba.druid.pool.DruidDataSource
9 driver-class-name: com.mysql.cj.jdbc.Driver
10 url: jdbc:mysql://localhost:3316/reggie?characterEncoding=utf-8
11 username: root
12 password: 123456
13 # 从数据源
14 slave:
15 type: com.alibaba.druid.pool.DruidDataSource
16 driver-class-name: com.mysql.cj.jdbc.Driver
17 url: jdbc:mysql://localhost:3326/reggie?characterEncoding=utf-8
18 username: root
19 password: 123456
20 masters-lave: # 课程中为 masterslave
21 # 读写分离配置
22 load-balance-algorithm-type: round_robin # 定义从库负载均衡策略策略,round_robin为轮询
23 # 最终的数据源名称(即Bean的名称)
24 name: dataSource
25 # 主库数据源名称
26 master-data-source-name: master
27 # 从库数据源名称列表,多个用','分隔
28 slave-data-source-names: slave
29 props:
30 sql:
31 show: true # 开启SQL显示,默认false
32 main:
33 # 允许Bean定义覆盖,否则会与其他数据源的Bean发生冲突(如Druid)
34 allow-bean-definition-overriding: true
评论