一、前言
本文将基于以下环境整合sharding-jdbc
实现分库分表
与读写分离
- springboot2.4.0
- mybatis-plus3.4.3.1
- mysql5.7主从
https://github.com/apache/shardingsphere
二、数据库表准备
温馨小提示:此sql执行时,如果之前有存在相应库和表会进行自动删除后再创建!
DROP DATABASE IF EXISTS ds0; CREATE DATABASE ds0; USE ds0; SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for t_user0 -- ---------------------------- DROP TABLE IF EXISTS `t_user0`; CREATE TABLE `t_user0` ( `user_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID', `username` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名', `password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码', `sex` tinyint(4) NULL DEFAULT NULL COMMENT '性别', `remark` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', PRIMARY KEY (`user_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for t_user1 -- ---------------------------- DROP TABLE IF EXISTS `t_user1`; CREATE TABLE `t_user1` ( `user_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID', `username` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名', `password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码', `sex` tinyint(4) NULL DEFAULT NULL COMMENT '性别', `remark` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', PRIMARY KEY (`user_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户' ROW_FORMAT = Dynamic; SET FOREIGN_KEY_CHECKS = 1; -- =============================================================================================== DROP DATABASE IF EXISTS ds1; CREATE DATABASE ds1; USE ds1; SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0; -- ---------------------------- -- Table structure for t_user0 -- ---------------------------- DROP TABLE IF EXISTS `t_user0`; CREATE TABLE `t_user0` ( `user_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID', `username` varchar(20) CHARACTE<em>本文来源[email protected]搞@^&代*@码)网5</em>R SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名', `password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码', `sex` tinyint(4) NULL DEFAULT NULL COMMENT '性别', `remark` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', PRIMARY KEY (`user_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户' ROW_FORMAT = Dynamic; -- ---------------------------- -- Table structure for t_user1 -- ---------------------------- DROP TABLE IF EXISTS `t_user1`; CREATE TABLE `t_user1` ( `user_id` bigint(20) UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '主键ID', `username` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户名', `password` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '密码', `sex` tinyint(4) NULL DEFAULT NULL COMMENT '性别', `remark` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '备注', PRIMARY KEY (`user_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '用户' ROW_FORMAT = Dynamic; SET FOREIGN_KEY_CHECKS = 1;