专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

springboot项目中使用sharding-jdbc实现分库分表开发(配置方式)

sharding-jdbc分库分表开发包

<dependency>
    <groupId>io.shardingsphere</groupId>
    <artifactId>sharding-jdbc-spring-boot-starter</artifactId>
    <version>3.1.0</version>
</dependency>

properties文件中添加配置项

# 库名符合 test0,test1 ... 规则
sharding.jdbc.dataSource.names=test0,test1,test2

sharding.jdbc.dataSource.test0.type=com.zaxxer.hikari.HikariDataSource
sharding.jdbc.dataSource.test0.driver-class-name=com.mysql.cj.jdbc.Driver
sharding.jdbc.dataSource.test0.jdbc-url=jdbc:mysql://localhost:3306/test0?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT
sharding.jdbc.dataSource.test0.username=root
sharding.jdbc.dataSource.test0.password=111111
sharding.jdbc.dataSource.test0.maxPoolSize=20

sharding.jdbc.dataSource.test1.type=com.zaxxer.hikari.HikariDataSource
sharding.jdbc.dataSource.test1.driver-class-name=com.mysql.cj.jdbc.Driver
sharding.jdbc.dataSource.test1.jdbc-url=jdbc:mysql://localhost:3306/test1?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT
sharding.jdbc.dataSource.test1.username=root
sharding.jdbc.dataSource.test1.password=111111
sharding.jdbc.dataSource.test1.maxPoolSize=20

sharding.jdbc.dataSource.test2.type=com.zaxxer.hikari.HikariDataSource
sharding.jdbc.dataSource.test2.driver-class-name=com.mysql.cj.jdbc.Driver
sharding.jdbc.dataSource.test2.jdbc-url=jdbc:mysql://localhost:3306/test2?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT
sharding.jdbc.dataSource.test2.username=root
sharding.jdbc.dataSource.test2.password=111111
sharding.jdbc.dataSource.test2.maxPoolSize=20

# 水平拆分的数据库(表) 配置分库 + 分表策略 行表达式分片策略
# 分库策略
sharding.jdbc.config.sharding.tables.t_user.actual-data-nodes=test$->{0..2}.t_user_$->{0..31}
# 分表策略 其中t_user为逻辑表 分表主要取决于id列
sharding.jdbc.config.sharding.tables.t_user.table-strategy.inline.sharding-column=id
# 分片算法表达式  表名符合 t_user_0,t_user_1 ... t_user_n 规则
sharding.jdbc.config.sharding.tables.t_user.table-strategy.inline.algorithm-expression=t_user_${id % 32}
# 生成主键
#sharding.jdbc.config.sharding.tables.t_user.key-generator-column-name=id

# 打印执行的数据库以及语句
sharding.jdbc.dataSource.props.sql.show=true
sharding.jdbc.config.props.sql.show=true

创建数据库和表,编写dao和service,最后测试结果如下

87_1.png

源码示例:https://gitee.com/lion123/springboot-sharding-demo1

文章永久链接:https://tech.souyunku.com/24975

未经允许不得转载:搜云库技术团队 » springboot项目中使用sharding-jdbc实现分库分表开发(配置方式)

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们