shardingJdbc5实现分库分表,多租户

实现案例springboot+mybatis-plus+shardingJdbc5

1.准备工作,springboot+mybatis-plus工程,创建两个数据库,各包含t_pro_area,t_pro_fram两张表,字段随意

2.引入shardingjdbc  jar


org.apache.shardingsphereshardingsphere-jdbc-core-spring-boot-starter5.1.2

3.yml文件配置

spring:shardingsphere:props:# 日志显示具体的SQLsql-show: false# 是否开启datasource:# 数据源(逻辑名字)names: ds0,ds1# 配置数据源ds0:type: com.zaxxer.hikari.HikariDataSourcedriverClassName: com.mysql.cj.jdbc.DriverjdbcUrl: jdbc:mysql://localhost:3306/fishery-1?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimeZone=GMT%2B8&allowPublicKeyRetrieval=trueusername: rootpassword: 123456ds1:type: com.zaxxer.hikari.HikariDataSourcedriverClassName: com.mysql.cj.jdbc.DriverjdbcUrl: jdbc:mysql://localhost:3306/fishery-2?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true&useSSL=false&serverTimeZone=GMT%2B8&allowPublicKeyRetrieval=trueusername: rootpassword: 123456# 分片的配置rules:sharding:# 表的分片策略tables:# 逻辑表的名称t_pro_fram:# 数据节点配置,采用Groovy表达式actual-data-nodes: ds$->{0..1}.t_pro_fram# 配置策略database-strategy: #分库策略standard:sharding-column: sort   # 分片列名称sharding-algorithm-name: user_inline # 分片算法名称#            table-strategy: #分表策略
#              standard:
#                sharding-column: sort
#                sharding-algorithm-name: database_alg#分片算法名sharding-algorithms:user_inline:type: inlineprops:algorithm-expression: ds$->{sort % 2}

测试controller

@RestController
@RequestMapping("test")
public class tController {  @Autowiredprivate ProFarmService proFarmService;@GetMapping("/list")public String list() {for (int i = 1 ; i < 10; i++) {ProFarm test =new ProFarm();test.setCusNo("嗡嗡嗡"+i);test.setSort(i);proFarmService.save(test);}retun "seccess";}
}

规则ds$->


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部