# sharding-jdbc-mybatis-plus-demo **Repository Path**: kelvin-cai/sharding-jdbc-mybatis-plus-demo ## Basic Information - **Project Name**: sharding-jdbc-mybatis-plus-demo - **Description**: 使用springboot整合sharding-jdbc和mybatis-plus、tk.mapper进行分库分表 - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 10 - **Forks**: 0 - **Created**: 2019-09-21 - **Last Updated**: 2022-10-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # sharding-jdbc-mybatis-plus-demo ## 介绍 - 使用springboot整合sharding-jdbc和mybatis-plus、tk.mapper - sharding-jdbc配置有4中方式接入,java方式、yml、springboot的properties方式、spring命名空间方式 - 但是由于yml方式和springboot的properties方式编写好规则后,就固定公式如t_order$->{order_id % 2},若按照一致性算法,这种方式每次都需要增加2n-n个节点,导致每次增加节点都需要迁移二分之一的数据,这样对线上用户影响比较大的。(其原因请阅读[分库分表算法方案与技术选型(一)算法方案](https://juejin.im/post/5d6b8dbef265da03f47c38df)) - 所以推荐java方式和spring命名空间方式,但是因为java方式会导致一个系统下所有的表都会执行一个规则,所以spring命名空间方式在海量数据情况下最佳。 - mybatis-plus没有一条语句批量插入、insertSelective字段判空插入,所以增加tk.mapper方式 [sharding-jdbc配置](https://shardingsphere.apache.org/document/current/cn/manual/sharding-jdbc/configuration/config-java/) ## 软件架构 - springboot 2.1.3.RELEASE - sharding-jdbc 4.0.0-RC2 - mybatis-plus 3.2.0 - druid 1.11.12 - tk.mapper 4.1.5 - 基于springboot和命名空间方式使用两种方式,java方式、spring命名空间方式 ## 安装教程 1. 安装mysql server和mycat操作数据库 2. 执行doc文件夹下的ddl.sql文件准备表结构 ## 使用说明 1. application.properties填写数据库地址 2. 对Application.java的main函数右键-》run 3. 或者打包成一个jar包,使用java -jar命令启动 ## 参与贡献 1. 蔡俊豪 ## 迭代 1. 已经整合springboot和sharding-jdbc 2. 整合mybatis-plus和编写测试样例