基于ShardingJDBC的分库分表分页SpringBoot2.3使用总结

本文介绍了基于ShardingJDBC在SpringBoot2.3中的分库分表实现,包括org.apache.shardingsphere和io.shardingsphere的关系、依赖配置、数据库和表创建,以及核心概念和流程。通过实例展示了如何进行分页查询,并提供了配置和代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前言

分库分表的技术现在相对来说已经很成熟了,现在比较流行的就是量种方式,mycat是一种解耦方式代理实现的分库分表中间件,代码侵入性低,但是运维维护的话相对于sharding比较麻烦,还有就是mycat的冗余字段表、事务、分页问题等需要特殊的处理,所以相对讲sharding的使用更简单些,但是sharding的话对于依赖包的版本匹配则更严格,也会面临升级的问题,但是这些相对来说可控。本篇是基于2.3.0.RELEASE和sharding的分库分表事件总结。

二、实战

1.org.apache.shardingsphere和io.shardingsphere的关系:

io.shardingsphere下面的sharding-jdbc-spring-boot-starter的到了3.x以后现在已经不维护了,所以使用springboot高版本的sharding最好是使用org.apache.shardingsphere里面的sharding-jdbc-spring-boot-starter,因为sharding是2018年加入到Apache基金会孵化器。后面的版本迭代也会在org.apache.shardingsphere里面进行发布。
官网开发手册地址:https://shardingsphere.apache.org/document/current/cn/overview/

2.相关依赖包:

这次实战使用的是spring-boot-starter-parent 2.3.0.RELEASE、mysql8、com.alibaba、mybatis-spring-boot-starter、com.github.pagehelper,这些组件版本的版本号非常重要,我在此过程中就是踩了很多坑,然后最终才配置完成启动了起来成功运行。

3.分库分表配置:

这是一个比较重要的环节,因为分库的逻辑和分表的逻辑在这里实现,直接上干货配置:

spring.shardingsphere.datasource.names=doc0,doc1
spring.shardingsphere.datasource.doc0.type= com.alibaba.druid.pool.DruidDataSource
spring.shardingsphere.datasource.doc0.driver-class-name= com.mysql.cj.jdbc.Driver
spring.shardingsphere.datasource.doc0.url= 
spring.shardingsphere.datasource.doc0.username= 
spring.shardingsphere.datasource.doc0.password= 
#数据源2
spring.shardingsphere.datasource.doc1.type= com.alibaba.druid.pool.DruidDataSource
spring.shardingsphere.datasource.doc1.driver-class-name= com.mysql.cj.jdbc.Driver
#数据库链接账号
spring.shardings
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值