文章目录
一、说明
本demo的配置是修改自官方example,用于在本项目的依赖下集成sharding-jdbc来实现分库分表、读写分离等场景的演示
sharding-jdbc详细的配置项说明:https://www.kancloud.cn/zlt2000/microservices-platform/1015741
分库分表思路:https://www.kancloud.cn/mall2000/microservices-platform/1015741
二、准备
1、目录结构

2、配置文件及数据库sql脚本
- pom.xml文件 (其余依赖根据项目需要引入)
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId>
</dependency>
<!-- druid 官方 starter -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
</dependency>
<!-- sharding-jdbc分表分库 -->
<dependency>
<groupId>io.shardingsphere</groupId>
<artifactId>sharding-jdbc-spring-boot-starter</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
- sql脚本:
-----------------------------------------sharding-databases
CREATE SCHEMA IF NOT EXISTS demo_ds_0;
CREATE SCHEMA IF NOT EXISTS demo_ds_1;
CREATE TABLE IF NOT EXISTS demo_ds_0.user (
id BIGINT NOT NULL AUTO_INCREMENT,
company_id varchar(32) NOT NULL,
name varchar(50) NULL,
create_time datetime(0) NULL,
update_time datetime(0) NULL,
PRIMARY KEY (id)
);
CREATE TABLE IF NOT EXISTS demo_ds_1.user (
id BIGINT NOT NULL AUTO_INCREMENT,
company_id varchar(32) NOT NULL,
name varchar(50) NULL,
create_time datetime(0) NULL,
update_time datetime(0) NULL,
PRIMARY KEY (id)
);
-----------------------------------------sharding-databases2
CREATE SCHEMA IF NOT EXISTS demo_ds_alibaba;
CREATE SCHEMA IF NOT EXISTS demo_ds_baidu;
CREATE TABLE IF NOT EXISTS demo_ds_alibaba.user (
id BIGINT NOT NULL AUTO_INCREMENT,
company_id varchar(32) NOT NULL,
name varchar(50) NULL,
create_time datetime(0) NULL,
update_time datetime(0) NULL,
PRIMARY KEY (id

本文详细介绍了如何在项目中集成Sharding-JDBC,包括配置不同类型的分库分表策略(如按模分片、按固定值分片),并展示了如何运行、初始化数据和测试接口,包括查询用户数据和清除数据的操作。
最低0.47元/天 解锁文章
3807

被折叠的 条评论
为什么被折叠?



