ShardingSphere-JDBC水平分片

创建两个数据库4张表,具体配置如下:

相关的DDL语句

SQL 复制代码
CREATE DATABASE db_order;
USE db_order;
CREATE TABLE t_order0 (
  id BIGINT,
  order_no VARCHAR(30),
  user_id BIGINT,
  amount DECIMAL(10,2),
  PRIMARY KEY(id) 
);
CREATE TABLE t_order1 (
  id BIGINT,
  order_no VARCHAR(30),
  user_id BIGINT,
  amount DECIMAL(10,2),
  PRIMARY KEY(id) 
);

注意:水平分片的id需要在业务层实现,不能依赖数据库的主键自增

2、基本水平分片

2.1、基本配置

properties 复制代码
#========================基本配置
# 应用名称
spring.application.name=sharging-jdbc-demo
# 开发环境设置
spring.profiles.active=dev
# 内存模式
spring.shardingsphere.mode.type=Memory
# 打印SQl
spring.shardingsphere.props.sql-show=true

2.2、数据源配置

properties 复制代码
# 配置真实数据源
spring.shardingsphere.datasource.names=user,order0,order1

# 配置第 1 个数据源
spring.shardingsphere.datasource.user.type=com.zaxxer.hikari.HikariDataSource
spring.shardingsphere.datasource.user.driver-class-name=com.mysql.jdbc.Driver
spring.shardingsphere.datasource.user.jdbc-url=jdbc:mysql://172.18.8.229:3307/db_user?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
spring.shardingsphere.datasource.user.username=root
spring.shardingsphere.datasource.user.password=123456

# 配置第 2 个数据源
spring.shardingsphere.datasource.order0.type=com.zaxxer.hikari.HikariDataSource
spring.shardingsphere.datasource.order0.driver-class-name=com.mysql.jdbc.Driver
spring.shardingsphere.datasource.order0.jdbc-url=jdbc:mysql://localhost:3306/db_order?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
spring.shardingsphere.datasource.order0.username=root
spring.shardingsphere.datasource.order0.password=root

# 配置第 3 个数据源
spring.shardingsphere.datasource.order1.type=com.zaxxer.hikari.HikariDataSource
spring.shardingsphere.datasource.order1.driver-class-name=com.mysql.jdbc.Driver
spring.shardingsphere.datasource.order1.jdbc-url=jdbc:mysql://172.18.8.229:3307/db_order?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
spring.shardingsphere.datasource.order1.username=root
spring.shardingsphere.datasource.order1.password=123456

2.3、标椎分片表配置

properties 复制代码
#========================标准分片表配置(数据节点配置)
# spring.shardingsphere.rules.sharding.tables.<table-name>.actual-data-nodes=值
# 值由数据源名 + 表名组成,以小数点分隔。多个表以逗号分隔,支持 inline 表达式。
# <table-name>:逻辑表名
spring.shardingsphere.rules.sharding.tables.t_user.actual-data-nodes=user.t_user
spring.shardingsphere.rules.sharding.tables.t_order.actual-data-nodes=order0.t_order0,order0.t_order1,order1.t_order0,order1.t_order1

修改Order实体类的主键策略:

java 复制代码
//@TableId(type = IdType.AUTO)//依赖数据库的主键自增策略
@TableId(type = IdType.ASSIGN_ID)//分布式id

测试:保留上面配置中的一个分片表节点分别进行测试,检查每个分片节点是否可用

java 复制代码
/**
     * 水平分片:插入数据测试
     */
@Test
public void testInsertOrder(){

    Order order = new Order();
    order.setOrderNo("ATGUIGU001");
    order.setUserId(1L);
    order.setAmount(new BigDecimal(100));
    orderMapper.insert(order);
}

测试结果实际插入0库0表

2.4、行表达式

优化上一步的分片表配置

https://shardingsphere.apache.org/document/5.1.1/cn/features/sharding/concept/inline-expression/


properties 复制代码
#========================标准分片表配置(数据节点配置)
# spring.shardingsphere.rules.sharding.tables.<table-name>.actual-data-nodes=值
# 值由数据源名 + 表名组成,以小数点分隔。多个表以逗号分隔,支持 inline 表达式。
# <table-name>:逻辑表名
spring.shardingsphere.rules.sharding.tables.t_user.actual-data-nodes=user.t_user
spring.shardingsphere.rules.sharding.tables.t_order.actual-data-nodes=order$->{0..1}0.t_order$->{0..1}

2.5、分片算法配置

水平分库:

分片规则:order表中user_id为偶数时,数据插入server-order0服务器user_id为奇数时,数据插入server-order1服务器。这样分片的好处是,同一个用户的订单数据,一定会被插入到同一台服务器上,查询一个用户的订单时效率较高。

properties 复制代码
#------------------------分库策略
# 分片列名称
spring.shardingsphere.rules.sharding.tables.t_order.database-strategy.standard.sharding-column=user_id
# 分片算法名称
spring.shardingsphere.rules.sharding.tables.t_order.database-strategy.standard.sharding-algorithm-name=alg_inline_userid

#------------------------分片算法配置
# 行表达式分片算法
# 分片算法类型
spring.shardingsphere.rules.sharding.sharding-algorithms.alg_inline_userid.type=INLINE
# 分片算法属性配置
spring.shardingsphere.rules.sharding.sharding-algorithms.alg_inline_userid.props.algorithm-expression=order$->{user_id % 2}

# 取模分片算法
# 分片算法类型
spring.shardingsphere.rules.sharding.sharding-algorithms.alg_mod.type=MOD
# 分片算法属性配置
spring.shardingsphere.rules.sharding.sharding-algorithms.alg_mod.props.sharding-count=2

为了方便测试,先设置只在 t_order0表上进行测试

properties 复制代码
xxx.actual-data-nodes=server-order$->{0..1}.t_order0

测试:可以分别测试行表达式分片算法和取模分片算法

java 复制代码
/**
     * 水平分片:分库插入数据测试
     */
@Test
public void testInsertOrderDatabaseStrategy(){

    for (long i = 0; i < 4; i++) {
        Order order = new Order();
        order.setOrderNo("ATGUIGU001");
        order.setUserId(i + 1);
        order.setAmount(new BigDecimal(100));
        orderMapper.insert(order);
    }

}
bash 复制代码
"C:\Program Files\Java\jdk1.8.0_361\bin\java.exe" -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\lib\idea_rt.jar=64722:C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\bin" -Dfile.encoding=UTF-8 -classpath "C:\Users\23283\.m2\repository\org\junit\platform\junit-platform-launcher\1.6.3\junit-platform-launcher-1.6.3.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\lib\idea_rt.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\plugins\junit\lib\junit5-rt.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\plugins\junit\lib\junit-rt.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\rt.jar;D:\BaiduNetdiskDownload\源码(1)\源码\atguigu\atguigu\sharging-jdbc-demo\target\test-classes;D:\BaiduNetdiskDownload\源码(1)\源码\atguigu\atguigu\sharging-jdbc-demo\target\classes;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-starter-web\2.3.7.RELEASE\spring-boot-starter-web-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-starter\2.3.7.RELEASE\spring-boot-starter-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot\2.3.7.RELEASE\spring-boot-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-starter-logging\2.3.7.RELEASE\spring-boot-starter-logging-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;C:\Users\23283\.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\23283\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.13.3\log4j-to-slf4j-2.13.3.jar;C:\Users\23283\.m2\repository\org\apache\logging\log4j\log4j-api\2.13.3\log4j-api-2.13.3.jar;C:\Users\23283\.m2\repository\org\slf4j\jul-to-slf4j\1.7.30\jul-to-slf4j-1.7.30.jar;C:\Users\23283\.m2\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;C:\Users\23283\.m2\repository\org\yaml\snakeyaml\1.26\snakeyaml-1.26.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-starter-json\2.3.7.RELEASE\spring-boot-starter-json-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.11.3\jackson-databind-2.11.3.jar;C:\Users\23283\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.11.3\jackson-annotations-2.11.3.jar;C:\Users\23283\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.11.3\jackson-core-2.11.3.jar;C:\Users\23283\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.11.3\jackson-datatype-jdk8-2.11.3.jar;C:\Users\23283\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.11.3\jackson-datatype-jsr310-2.11.3.jar;C:\Users\23283\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.11.3\jackson-module-parameter-names-2.11.3.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-starter-tomcat\2.3.7.RELEASE\spring-boot-starter-tomcat-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\org\apache\tomcat\embed\tomcat-embed-core\9.0.41\tomcat-embed-core-9.0.41.jar;C:\Users\23283\.m2\repository\org\glassfish\jakarta.el\3.0.3\jakarta.el-3.0.3.jar;C:\Users\23283\.m2\repository\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.41\tomcat-embed-websocket-9.0.41.jar;C:\Users\23283\.m2\repository\org\springframework\spring-web\5.2.12.RELEASE\spring-web-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-beans\5.2.12.RELEASE\spring-beans-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-webmvc\5.2.12.RELEASE\spring-webmvc-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-aop\5.2.12.RELEASE\spring-aop-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-context\5.2.12.RELEASE\spring-context-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-expression\5.2.12.RELEASE\spring-expression-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-jdbc-core-spring-boot-starter\5.1.1\shardingsphere-jdbc-core-spring-boot-starter-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sharding-spring-boot-starter\5.1.1\shardingsphere-sharding-spring-boot-starter-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sharding-core\5.1.1\shardingsphere-sharding-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sharding-api\5.1.1\shardingsphere-sharding-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\groovy\groovy\4.0.1\groovy-4.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sharding-distsql-handler\5.1.1\shardingsphere-sharding-distsql-handler-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sharding-distsql-statement\5.1.1\shardingsphere-sharding-distsql-statement-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sharding-distsql-parser\5.1.1\shardingsphere-sharding-distsql-parser-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-spi\5.1.1\shardingsphere-sql-parser-spi-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-data-pipeline-core\5.1.1\shardingsphere-data-pipeline-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-data-pipeline-spi\5.1.1\shardingsphere-data-pipeline-spi-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\commons\commons-lang3\3.10\commons-lang3-3.10.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-cluster-mode-repository-zookeeper-curator\5.1.1\shardingsphere-cluster-mode-repository-zookeeper-curator-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\curator\curator-framework\5.1.0\curator-framework-5.1.0.jar;C:\Users\23283\.m2\repository\org\apache\curator\curator-client\5.1.0\curator-client-5.1.0.jar;C:\Users\23283\.m2\repository\org\apache\zookeeper\zookeeper\3.6.0\zookeeper-3.6.0.jar;C:\Users\23283\.m2\repository\org\apache\zookeeper\zookeeper-jute\3.6.0\zookeeper-jute-3.6.0.jar;C:\Users\23283\.m2\repository\org\apache\yetus\audience-annotations\0.5.0\audience-annotations-0.5.0.jar;C:\Users\23283\.m2\repository\io\netty\netty-transport-native-epoll\4.1.55.Final\netty-transport-native-epoll-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-transport-native-unix-common\4.1.55.Final\netty-transport-native-unix-common-4.1.55.Final.jar;C:\Users\23283\.m2\repository\org\apache\curator\curator-recipes\5.1.0\curator-recipes-5.1.0.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-binder\5.1.1\shardingsphere-infra-binder-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-route\5.1.1\shardingsphere-infra-route-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-rewrite\5.1.1\shardingsphere-infra-rewrite-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-merge\5.1.1\shardingsphere-infra-merge-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-system-datetime\5.1.1\shardingsphere-system-datetime-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-datetime-spi\5.1.1\shardingsphere-infra-datetime-spi-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-mode-core\5.1.1\shardingsphere-mode-core-5.1.1.jar;C:\Users\23283\.m2\repository\me\ahoo\cosid\cosid-core\1.8.6\cosid-core-1.8.6.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-shadow-spring-boot-starter\5.1.1\shardingsphere-shadow-spring-boot-starter-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-shadow-core\5.1.1\shardingsphere-shadow-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-shadow-api\5.1.1\shardingsphere-shadow-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-shadow-distsql-handler\5.1.1\shardingsphere-shadow-distsql-handler-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-shadow-distsql-statement\5.1.1\shardingsphere-shadow-distsql-statement-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-shadow-distsql-parser\5.1.1\shardingsphere-shadow-distsql-parser-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-spring-boot-starter\5.1.1\shardingsphere-db-discovery-spring-boot-starter-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-core\5.1.1\shardingsphere-db-discovery-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-api\5.1.1\shardingsphere-db-discovery-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-distsql-handler\5.1.1\shardingsphere-db-discovery-distsql-handler-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-distsql-statement\5.1.1\shardingsphere-db-discovery-distsql-statement-5.1.1.jar;C:\Users\23283\.m2\repository\com\google\code\gson\gson\2.8.6\gson-2.8.6.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-distsql-parser\5.1.1\shardingsphere-db-discovery-distsql-parser-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-mysql\5.1.1\shardingsphere-db-discovery-mysql-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-opengauss\5.1.1\shardingsphere-db-discovery-opengauss-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-schedule-core\5.1.1\shardingsphere-schedule-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-lite-core\3.0.1\elasticjob-lite-core-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-api\3.0.1\elasticjob-api-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-infra-common\3.0.1\elasticjob-infra-common-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-registry-center\3.0.1\elasticjob-registry-center-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-simple-executor\3.0.1\elasticjob-simple-executor-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-executor-kernel\3.0.1\elasticjob-executor-kernel-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-error-handler-general\3.0.1\elasticjob-error-handler-general-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-error-handler-spi\3.0.1\elasticjob-error-handler-spi-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-dataflow-executor\3.0.1\elasticjob-dataflow-executor-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-script-executor\3.0.1\elasticjob-script-executor-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\commons\commons-exec\1.3\commons-exec-1.3.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-http-executor\3.0.1\elasticjob-http-executor-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-tracing-rdb\3.0.1\elasticjob-tracing-rdb-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-tracing-api\3.0.1\elasticjob-tracing-api-3.0.1.jar;C:\Users\23283\.m2\repository\org\quartz-scheduler\quartz\2.3.2\quartz-2.3.2.jar;C:\Users\23283\.m2\repository\com\mchange\mchange-commons-java\0.2.15\mchange-commons-java-0.2.15.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-lite-lifecycle\3.0.1\elasticjob-lite-lifecycle-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-encrypt-spring-boot-starter\5.1.1\shardingsphere-encrypt-spring-boot-starter-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-encrypt-core\5.1.1\shardingsphere-encrypt-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-encrypt-api\5.1.1\shardingsphere-encrypt-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-encrypt-distsql-handler\5.1.1\shardingsphere-encrypt-distsql-handler-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-encrypt-distsql-statement\5.1.1\shardingsphere-encrypt-distsql-statement-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-encrypt-distsql-parser\5.1.1\shardingsphere-encrypt-distsql-parser-5.1.1.jar;C:\Users\23283\.m2\repository\commons-codec\commons-codec\1.14\commons-codec-1.14.jar;C:\Users\23283\.m2\repository\org\bouncycastle\bcprov-jdk15on\1.70\bcprov-jdk15on-1.70.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-readwrite-splitting-spring-boot-starter\5.1.1\shardingsphere-readwrite-splitting-spring-boot-starter-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-readwrite-splitting-core\5.1.1\shardingsphere-readwrite-splitting-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-readwrite-splitting-api\5.1.1\shardingsphere-readwrite-splitting-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-readwrite-splitting-distsql-handler\5.1.1\shardingsphere-readwrite-splitting-distsql-handler-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-readwrite-splitting-distsql-statement\5.1.1\shardingsphere-readwrite-splitting-distsql-statement-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-readwrite-splitting-distsql-parser\5.1.1\shardingsphere-readwrite-splitting-distsql-parser-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-jdbc-spring-boot-starter-infra\5.1.1\shardingsphere-jdbc-spring-boot-starter-infra-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-jdbc-transaction-spring\5.1.1\shardingsphere-jdbc-transaction-spring-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-transaction-core\5.1.1\shardingsphere-transaction-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-transaction-api\5.1.1\shardingsphere-transaction-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-executor\5.1.1\shardingsphere-infra-executor-5.1.1.jar;C:\Users\23283\.m2\repository\io\vertx\vertx-mysql-client\4.2.3\vertx-mysql-client-4.2.3.jar;C:\Users\23283\.m2\repository\io\vertx\vertx-core\4.2.3\vertx-core-4.2.3.jar;C:\Users\23283\.m2\repository\io\netty\netty-common\4.1.55.Final\netty-common-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-buffer\4.1.55.Final\netty-buffer-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-transport\4.1.55.Final\netty-transport-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-handler\4.1.55.Final\netty-handler-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-codec\4.1.55.Final\netty-codec-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-handler-proxy\4.1.55.Final\netty-handler-proxy-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-codec-socks\4.1.55.Final\netty-codec-socks-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-codec-http\4.1.55.Final\netty-codec-http-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-codec-http2\4.1.55.Final\netty-codec-http2-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-resolver\4.1.55.Final\netty-resolver-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-resolver-dns\4.1.55.Final\netty-resolver-dns-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-codec-dns\4.1.55.Final\netty-codec-dns-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\vertx\vertx-sql-client\4.2.3\vertx-sql-client-4.2.3.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-parser-spring-boot-starter\5.1.1\shardingsphere-parser-spring-boot-starter-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-parser-core\5.1.1\shardingsphere-parser-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-parser-api\5.1.1\shardingsphere-parser-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-parser\5.1.1\shardingsphere-infra-parser-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-jdbc-core\5.1.1\shardingsphere-jdbc-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-sql92\5.1.1\shardingsphere-sql-parser-sql92-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-engine\5.1.1\shardingsphere-sql-parser-engine-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-statement\5.1.1\shardingsphere-sql-parser-statement-5.1.1.jar;C:\Users\23283\.m2\repository\org\antlr\antlr4-runtime\4.9.2\antlr4-runtime-4.9.2.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-mysql\5.1.1\shardingsphere-sql-parser-mysql-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-postgresql\5.1.1\shardingsphere-sql-parser-postgresql-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-oracle\5.1.1\shardingsphere-sql-parser-oracle-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-sqlserver\5.1.1\shardingsphere-sql-parser-sqlserver-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-opengauss\5.1.1\shardingsphere-sql-parser-opengauss-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-authority-core\5.1.1\shardingsphere-authority-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-authority-api\5.1.1\shardingsphere-authority-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-single-table-core\5.1.1\shardingsphere-single-table-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-single-table-api\5.1.1\shardingsphere-single-table-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-traffic-core\5.1.1\shardingsphere-traffic-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-common\5.1.1\shardingsphere-infra-common-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-spi\5.1.1\shardingsphere-spi-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-traffic-api\5.1.1\shardingsphere-traffic-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-context\5.1.1\shardingsphere-infra-context-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-distsql-parser\5.1.1\shardingsphere-distsql-parser-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-distsql-statement\5.1.1\shardingsphere-distsql-statement-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-federation-optimizer\5.1.1\shardingsphere-infra-federation-optimizer-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\calcite\calcite-core\1.27.0\calcite-core-1.27.0.jar;C:\Users\23283\.m2\repository\org\apache\calcite\calcite-linq4j\1.27.0\calcite-linq4j-1.27.0.jar;C:\Users\23283\.m2\repository\com\esri\geometry\esri-geometry-api\2.2.0\esri-geometry-api-2.2.0.jar;C:\Users\23283\.m2\repository\org\apache\calcite\avatica\avatica-core\1.18.0\avatica-core-1.18.0.jar;C:\Users\23283\.m2\repository\org\apache\calcite\avatica\avatica-metrics\1.18.0\avatica-metrics-1.18.0.jar;C:\Users\23283\.m2\repository\com\google\protobuf\protobuf-java\3.6.1\protobuf-java-3.6.1.jar;C:\Users\23283\.m2\repository\org\apache\httpcomponents\httpclient\4.5.13\httpclient-4.5.13.jar;C:\Users\23283\.m2\repository\org\apache\httpcomponents\httpcore\4.4.14\httpcore-4.4.14.jar;C:\Users\23283\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-yaml\2.11.3\jackson-dataformat-yaml-2.11.3.jar;C:\Users\23283\.m2\repository\com\google\uzaygezen\uzaygezen-core\0.2\uzaygezen-core-0.2.jar;C:\Users\23283\.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar;C:\Users\23283\.m2\repository\com\yahoo\datasketches\sketches-core\0.9.0\sketches-core-0.9.0.jar;C:\Users\23283\.m2\repository\com\yahoo\datasketches\memory\0.9.0\memory-0.9.0.jar;C:\Users\23283\.m2\repository\net\hydromatic\aggdesigner-algorithm\6.0\aggdesigner-algorithm-6.0.jar;C:\Users\23283\.m2\repository\commons-lang\commons-lang\2.4\commons-lang-2.4.jar;C:\Users\23283\.m2\repository\commons-logging\commons-logging\1.1.3\commons-logging-1.1.3.jar;C:\Users\23283\.m2\repository\org\apache\commons\commons-dbcp2\2.7.0\commons-dbcp2-2.7.0.jar;C:\Users\23283\.m2\repository\org\apache\commons\commons-pool2\2.8.1\commons-pool2-2.8.1.jar;C:\Users\23283\.m2\repository\commons-io\commons-io\2.4\commons-io-2.4.jar;C:\Users\23283\.m2\repository\org\codehaus\janino\commons-compiler\3.1.2\commons-compiler-3.1.2.jar;C:\Users\23283\.m2\repository\org\codehaus\janino\janino\3.1.2\janino-3.1.2.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-memory-mode-core\5.1.1\shardingsphere-memory-mode-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-standalone-mode-core\5.1.1\shardingsphere-standalone-mode-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-standalone-mode-repository-api\5.1.1\shardingsphere-standalone-mode-repository-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-standalone-mode-repository-file\5.1.1\shardingsphere-standalone-mode-repository-file-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-cluster-mode-core\5.1.1\shardingsphere-cluster-mode-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-cluster-mode-repository-api\5.1.1\shardingsphere-cluster-mode-repository-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-federation-executor\5.1.1\shardingsphere-infra-federation-executor-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\commons\commons-collections4\4.2\commons-collections4-4.2.jar;C:\Users\23283\.m2\repository\com\google\guava\guava\30.0-jre\guava-30.0-jre.jar;C:\Users\23283\.m2\repository\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar;C:\Users\23283\.m2\repository\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;C:\Users\23283\.m2\repository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;C:\Users\23283\.m2\repository\org\checkerframework\checker-qual\3.5.0\checker-qual-3.5.0.jar;C:\Users\23283\.m2\repository\com\google\errorprone\error_prone_annotations\2.3.4\error_prone_annotations-2.3.4.jar;C:\Users\23283\.m2\repository\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30.jar;C:\Users\23283\.m2\repository\org\slf4j\jcl-over-slf4j\1.7.30\jcl-over-slf4j-1.7.30.jar;C:\Users\23283\.m2\repository\mysql\mysql-connector-java\8.0.22\mysql-connector-java-8.0.22.jar;C:\Users\23283\.m2\repository\com\baomidou\mybatis-plus-boot-starter\3.3.1\mybatis-plus-boot-starter-3.3.1.jar;C:\Users\23283\.m2\repository\com\baomidou\mybatis-plus\3.3.1\mybatis-plus-3.3.1.jar;C:\Users\23283\.m2\repository\com\baomidou\mybatis-plus-extension\3.3.1\mybatis-plus-extension-3.3.1.jar;C:\Users\23283\.m2\repository\com\baomidou\mybatis-plus-core\3.3.1\mybatis-plus-core-3.3.1.jar;C:\Users\23283\.m2\repository\com\baomidou\mybatis-plus-annotation\3.3.1\mybatis-plus-annotation-3.3.1.jar;C:\Users\23283\.m2\repository\com\github\jsqlparser\jsqlparser\3.1\jsqlparser-3.1.jar;C:\Users\23283\.m2\repository\org\mybatis\mybatis\3.5.3\mybatis-3.5.3.jar;C:\Users\23283\.m2\repository\org\mybatis\mybatis-spring\2.0.3\mybatis-spring-2.0.3.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\2.3.7.RELEASE\spring-boot-autoconfigure-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-starter-jdbc\2.3.7.RELEASE\spring-boot-starter-jdbc-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\com\zaxxer\HikariCP\3.4.5\HikariCP-3.4.5.jar;C:\Users\23283\.m2\repository\org\springframework\spring-jdbc\5.2.12.RELEASE\spring-jdbc-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-tx\5.2.12.RELEASE\spring-tx-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\projectlombok\lombok\1.18.16\lombok-1.18.16.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-starter-test\2.3.7.RELEASE\spring-boot-starter-test-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-test\2.3.7.RELEASE\spring-boot-test-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-test-autoconfigure\2.3.7.RELEASE\spring-boot-test-autoconfigure-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\com\jayway\jsonpath\json-path\2.4.0\json-path-2.4.0.jar;C:\Users\23283\.m2\repository\net\minidev\json-smart\2.3\json-smart-2.3.jar;C:\Users\23283\.m2\repository\net\minidev\accessors-smart\1.2\accessors-smart-1.2.jar;C:\Users\23283\.m2\repository\org\ow2\asm\asm\5.0.4\asm-5.0.4.jar;C:\Users\23283\.m2\repository\jakarta\xml\bind\jakarta.xml.bind-api\2.3.3\jakarta.xml.bind-api-2.3.3.jar;C:\Users\23283\.m2\repository\jakarta\activation\jakarta.activation-api\1.2.2\jakarta.activation-api-1.2.2.jar;C:\Users\23283\.m2\repository\org\assertj\assertj-core\3.16.1\assertj-core-3.16.1.jar;C:\Users\23283\.m2\repository\org\hamcrest\hamcrest\2.2\hamcrest-2.2.jar;C:\Users\23283\.m2\repository\org\junit\jupiter\junit-jupiter\5.6.3\junit-jupiter-5.6.3.jar;C:\Users\23283\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.6.3\junit-jupiter-api-5.6.3.jar;C:\Users\23283\.m2\repository\org\apiguardian\apiguardian-api\1.1.0\apiguardian-api-1.1.0.jar;C:\Users\23283\.m2\repository\org\opentest4j\opentest4j\1.2.0\opentest4j-1.2.0.jar;C:\Users\23283\.m2\repository\org\junit\platform\junit-platform-commons\1.6.3\junit-platform-commons-1.6.3.jar;C:\Users\23283\.m2\repository\org\junit\jupiter\junit-jupiter-params\5.6.3\junit-jupiter-params-5.6.3.jar;C:\Users\23283\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.6.3\junit-jupiter-engine-5.6.3.jar;C:\Users\23283\.m2\repository\org\junit\platform\junit-platform-engine\1.6.3\junit-platform-engine-1.6.3.jar;C:\Users\23283\.m2\repository\org\mockito\mockito-core\3.3.3\mockito-core-3.3.3.jar;C:\Users\23283\.m2\repository\net\bytebuddy\byte-buddy\1.10.18\byte-buddy-1.10.18.jar;C:\Users\23283\.m2\repository\net\bytebuddy\byte-buddy-agent\1.10.18\byte-buddy-agent-1.10.18.jar;C:\Users\23283\.m2\repository\org\objenesis\objenesis\2.6\objenesis-2.6.jar;C:\Users\23283\.m2\repository\org\mockito\mockito-junit-jupiter\3.3.3\mockito-junit-jupiter-3.3.3.jar;C:\Users\23283\.m2\repository\org\skyscreamer\jsonassert\1.5.0\jsonassert-1.5.0.jar;C:\Users\23283\.m2\repository\com\vaadin\external\google\android-json\0.0.20131108.vaadin1\android-json-0.0.20131108.vaadin1.jar;C:\Users\23283\.m2\repository\org\springframework\spring-core\5.2.12.RELEASE\spring-core-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-jcl\5.2.12.RELEASE\spring-jcl-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-test\5.2.12.RELEASE\spring-test-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\xmlunit\xmlunit-core\2.7.0\xmlunit-core-2.7.0.jar" com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit5 com.atguigu.shargingjdbcdemo.ShardingTest,testInsertOrderDatabaseStrategy
14:33:19.294 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating CacheAwareContextLoaderDelegate from class [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate]
14:33:19.301 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating BootstrapContext using constructor [public org.springframework.test.context.support.DefaultBootstrapContext(java.lang.Class,org.springframework.test.context.CacheAwareContextLoaderDelegate)]
14:33:19.327 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating TestContextBootstrapper for test class [com.atguigu.shargingjdbcdemo.ShardingTest] from class [org.springframework.boot.test.context.SpringBootTestContextBootstrapper]
14:33:19.343 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Neither @ContextConfiguration nor @ContextHierarchy found for test class [com.atguigu.shargingjdbcdemo.ShardingTest], using SpringBootContextLoader
14:33:19.346 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [com.atguigu.shargingjdbcdemo.ShardingTest]: class path resource [com/atguigu/shargingjdbcdemo/ShardingTest-context.xml] does not exist
14:33:19.347 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [com.atguigu.shargingjdbcdemo.ShardingTest]: class path resource [com/atguigu/shargingjdbcdemo/ShardingTestContext.groovy] does not exist
14:33:19.347 [main] INFO org.springframework.test.context.support.AbstractContextLoader - Could not detect default resource locations for test class [com.atguigu.shargingjdbcdemo.ShardingTest]: no resource found for suffixes {-context.xml, Context.groovy}.
14:33:19.347 [main] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils - Could not detect default configuration classes for test class [com.atguigu.shargingjdbcdemo.ShardingTest]: ShardingTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
14:33:19.388 [main] DEBUG org.springframework.test.context.support.ActiveProfilesUtils - Could not find an 'annotation declaring class' for annotation type [org.springframework.test.context.ActiveProfiles] and class [com.atguigu.shargingjdbcdemo.ShardingTest]
14:33:19.441 [main] DEBUG org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider - Identified candidate component class: file [D:\BaiduNetdiskDownload\源码(1)\源码\atguigu\atguigu\sharging-jdbc-demo\target\classes\com\atguigu\shargingjdbcdemo\ShargingJdbcDemoApplication.class]
14:33:19.443 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Found @SpringBootConfiguration com.atguigu.shargingjdbcdemo.ShargingJdbcDemoApplication for test class com.atguigu.shargingjdbcdemo.ShardingTest
14:33:19.521 [main] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - @TestExecutionListeners is not present for class [com.atguigu.shargingjdbcdemo.ShardingTest]: using defaults.
14:33:19.522 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener, org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.test.context.event.EventPublishingTestExecutionListener]
14:33:19.539 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@4a003cbe, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@4082ba93, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@17fc391b, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@2b30a42c, org.springframework.test.context.support.DirtiesContextTestExecutionListener@609e8838, org.springframework.test.context.transaction.TransactionalTestExecutionListener@359df09a, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@43df23d3, org.springframework.test.context.event.EventPublishingTestExecutionListener@6d60fe40, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@792b749c, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@23e84203, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@19932c16, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@73eb439a, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@514646ef, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener@305ffe9e]
14:33:19.542 [main] DEBUG org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener - Before test class: context [DefaultTestContext@45d84a20 testClass = ShardingTest, testInstance = [null], testMethod = [null], testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@52f27fbd testClass = ShardingTest, locations = '{}', classes = '{class com.atguigu.shargingjdbcdemo.ShargingJdbcDemoApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@158d2680, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@57a3af25, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@6aeb35e6, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@4c583ecf, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@6f1fba17], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true]], class annotated with @DirtiesContext [false] with mode [null].
14:33:19.567 [main] DEBUG org.springframework.test.context.support.TestPropertySourceUtils - Adding inlined properties to environment: {spring.jmx.enabled=false, org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.3.7.RELEASE)

2026-03-15 14:33:19.775  INFO 34492 --- [           main] c.atguigu.shargingjdbcdemo.ShardingTest  : Starting ShardingTest on LAPTOP-5DIK3NC6 with PID 34492 (started by 23283 in D:\BaiduNetdiskDownload\源码(1)\源码\atguigu\atguigu\sharging-jdbc-demo)
2026-03-15 14:33:19.776  INFO 34492 --- [           main] c.atguigu.shargingjdbcdemo.ShardingTest  : The following profiles are active: dev
2026-03-15 14:33:20.520  INFO 34492 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'stringToNoneShardingStrategyConfigurationConverter' of type [org.apache.shardingsphere.spring.boot.converter.StringToNoneShardingStrategyConfigurationConverter] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2026-03-15 14:33:20.525  INFO 34492 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.shardingsphere-org.apache.shardingsphere.spring.boot.prop.SpringBootPropertiesConfiguration' of type [org.apache.shardingsphere.spring.boot.prop.SpringBootPropertiesConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2026-03-15 14:33:20.850  INFO 34492 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.apache.shardingsphere.spring.boot.ShardingSphereAutoConfiguration' of type [org.apache.shardingsphere.spring.boot.ShardingSphereAutoConfiguration$$EnhancerBySpringCGLIB$$61658d85] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2026-03-15 14:33:21.294  INFO 34492 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2026-03-15 14:33:21.464  INFO 34492 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2026-03-15 14:33:21.471  INFO 34492 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-2 - Starting...
2026-03-15 14:33:21.475  INFO 34492 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-2 - Start completed.
2026-03-15 14:33:21.475  INFO 34492 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-3 - Starting...
2026-03-15 14:33:21.482  INFO 34492 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-3 - Start completed.
 _ _   |_  _ _|_. ___ _ |    _ 
| | |\/|_)(_| | |_\  |_)||_|_\ 
     /               |         
                        3.3.1 
2026-03-15 14:33:23.467  INFO 34492 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2026-03-15 14:33:23.814  INFO 34492 --- [           main] c.atguigu.shargingjdbcdemo.ShardingTest  : Started ShardingTest in 4.238 seconds (JVM running for 5.221)
2026-03-15 14:33:24.544  INFO 34492 --- [           main] ShardingSphere-SQL                       : Logic SQL: INSERT INTO t_order  ( id,
order_no,
user_id,
amount )  VALUES  ( ?,
?,
?,
? )
2026-03-15 14:33:24.544  INFO 34492 --- [           main] ShardingSphere-SQL                       : SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty)
2026-03-15 14:33:24.544  INFO 34492 --- [           main] ShardingSphere-SQL                       : Actual SQL: order1 ::: INSERT INTO t_order0  ( id,
order_no,
user_id,
amount )  VALUES  (?, ?, ?, ?) ::: [2033069029959348226, ATGUIGU001, 1, 100]
2026-03-15 14:33:24.580  INFO 34492 --- [           main] ShardingSphere-SQL                       : Logic SQL: INSERT INTO t_order  ( id,
order_no,
user_id,
amount )  VALUES  ( ?,
?,
?,
? )
2026-03-15 14:33:24.581  INFO 34492 --- [           main] ShardingSphere-SQL                       : SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty)
2026-03-15 14:33:24.581  INFO 34492 --- [           main] ShardingSphere-SQL                       : Actual SQL: order0 ::: INSERT INTO t_order0  ( id,
order_no,
user_id,
amount )  VALUES  (?, ?, ?, ?) ::: [2033069032413016065, ATGUIGU001, 2, 100]
2026-03-15 14:33:24.586  INFO 34492 --- [           main] ShardingSphere-SQL                       : Logic SQL: INSERT INTO t_order  ( id,
order_no,
user_id,
amount )  VALUES  ( ?,
?,
?,
? )
2026-03-15 14:33:24.586  INFO 34492 --- [           main] ShardingSphere-SQL                       : SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty)
2026-03-15 14:33:24.586  INFO 34492 --- [           main] ShardingSphere-SQL                       : Actual SQL: order1 ::: INSERT INTO t_order0  ( id,
order_no,
user_id,
amount )  VALUES  (?, ?, ?, ?) ::: [2033069032413016066, ATGUIGU001, 3, 100]
2026-03-15 14:33:24.593  INFO 34492 --- [           main] ShardingSphere-SQL                       : Logic SQL: INSERT INTO t_order  ( id,
order_no,
user_id,
amount )  VALUES  ( ?,
?,
?,
? )
2026-03-15 14:33:24.593  INFO 34492 --- [           main] ShardingSphere-SQL                       : SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty)
2026-03-15 14:33:24.593  INFO 34492 --- [           main] ShardingSphere-SQL                       : Actual SQL: order0 ::: INSERT INTO t_order0  ( id,
order_no,
user_id,
amount )  VALUES  (?, ?, ?, ?) ::: [2033069032413016067, ATGUIGU001, 4, 100]
2026-03-15 14:33:24.608  INFO 34492 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'
2026-03-15 14:33:24.609  INFO 34492 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2026-03-15 14:33:24.615  INFO 34492 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.
2026-03-15 14:33:24.615  INFO 34492 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-2 - Shutdown initiated...
2026-03-15 14:33:24.615  INFO 34492 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-2 - Shutdown completed.
2026-03-15 14:33:24.615  INFO 34492 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-3 - Shutdown initiated...
2026-03-15 14:33:24.617  INFO 34492 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-3 - Shutdown completed.

Process finished with exit code 0

水平分表:

分片规则:order表中order_no的哈希值为偶数时,数据插入对应服务器的t_order0表order_no的哈希值为奇数时,数据插入对应服务器的t_order1表。因为order_no是字符串形式,因此不能直接取模。

properties 复制代码
#------------------------分表策略
# 分片列名称
spring.shardingsphere.rules.sharding.tables.t_order.table-strategy.standard.sharding-column=order_no
# 分片算法名称
spring.shardingsphere.rules.sharding.tables.t_order.table-strategy.standard.sharding-algorithm-name=alg_hash_mod


#------------------------分片算法配置
# 哈希取模分片算法
# 分片算法类型
spring.shardingsphere.rules.sharding.sharding-algorithms.alg_hash_mod.type=HASH_MOD
# 分片算法属性配置
spring.shardingsphere.rules.sharding.sharding-algorithms.alg_hash_mod.props.sharding-count=2

测试前不要忘记将如下节点改回原来的状态

properties 复制代码
xxx.actual-data-nodes=server-order$->{0..1}.t_order$->{0..1}

测试:

java 复制代码
/**
     * 水平分片:分表插入数据测试
     */
@Test
public void testInsertOrderTableStrategy(){

    for (long i = 1; i < 5; i++) {

        Order order = new Order();
        order.setOrderNo("ATGUIGU" + i);
        order.setUserId(1L);
        order.setAmount(new BigDecimal(100));
        orderMapper.insert(order);
    }

    for (long i = 5; i < 9; i++) {

        Order order = new Order();
        order.setOrderNo("ATGUIGU" + i);
        order.setUserId(2L);
        order.setAmount(new BigDecimal(100));
        orderMapper.insert(order);
    }
}

/**
     * 测试哈希取模
     */
@Test
public void testHash(){

    //注意hash取模的结果是整个字符串hash后再取模,和数值后缀是奇数还是偶数无关
    System.out.println("ATGUIGU001".hashCode() % 2);
    System.out.println("ATGUIGU0011".hashCode() % 2);
}
bash 复制代码
"C:\Program Files\Java\jdk1.8.0_361\bin\java.exe" -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\lib\idea_rt.jar=55463:C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\bin" -Dfile.encoding=UTF-8 -classpath "C:\Users\23283\.m2\repository\org\junit\platform\junit-platform-launcher\1.6.3\junit-platform-launcher-1.6.3.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\lib\idea_rt.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\plugins\junit\lib\junit5-rt.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\plugins\junit\lib\junit-rt.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\rt.jar;D:\BaiduNetdiskDownload\源码(1)\源码\atguigu\atguigu\sharging-jdbc-demo\target\test-classes;D:\BaiduNetdiskDownload\源码(1)\源码\atguigu\atguigu\sharging-jdbc-demo\target\classes;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-starter-web\2.3.7.RELEASE\spring-boot-starter-web-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-starter\2.3.7.RELEASE\spring-boot-starter-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot\2.3.7.RELEASE\spring-boot-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-starter-logging\2.3.7.RELEASE\spring-boot-starter-logging-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;C:\Users\23283\.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\23283\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.13.3\log4j-to-slf4j-2.13.3.jar;C:\Users\23283\.m2\repository\org\apache\logging\log4j\log4j-api\2.13.3\log4j-api-2.13.3.jar;C:\Users\23283\.m2\repository\org\slf4j\jul-to-slf4j\1.7.30\jul-to-slf4j-1.7.30.jar;C:\Users\23283\.m2\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;C:\Users\23283\.m2\repository\org\yaml\snakeyaml\1.26\snakeyaml-1.26.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-starter-json\2.3.7.RELEASE\spring-boot-starter-json-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.11.3\jackson-databind-2.11.3.jar;C:\Users\23283\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.11.3\jackson-annotations-2.11.3.jar;C:\Users\23283\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.11.3\jackson-core-2.11.3.jar;C:\Users\23283\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.11.3\jackson-datatype-jdk8-2.11.3.jar;C:\Users\23283\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.11.3\jackson-datatype-jsr310-2.11.3.jar;C:\Users\23283\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.11.3\jackson-module-parameter-names-2.11.3.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-starter-tomcat\2.3.7.RELEASE\spring-boot-starter-tomcat-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\org\apache\tomcat\embed\tomcat-embed-core\9.0.41\tomcat-embed-core-9.0.41.jar;C:\Users\23283\.m2\repository\org\glassfish\jakarta.el\3.0.3\jakarta.el-3.0.3.jar;C:\Users\23283\.m2\repository\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.41\tomcat-embed-websocket-9.0.41.jar;C:\Users\23283\.m2\repository\org\springframework\spring-web\5.2.12.RELEASE\spring-web-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-beans\5.2.12.RELEASE\spring-beans-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-webmvc\5.2.12.RELEASE\spring-webmvc-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-aop\5.2.12.RELEASE\spring-aop-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-context\5.2.12.RELEASE\spring-context-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-expression\5.2.12.RELEASE\spring-expression-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-jdbc-core-spring-boot-starter\5.1.1\shardingsphere-jdbc-core-spring-boot-starter-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sharding-spring-boot-starter\5.1.1\shardingsphere-sharding-spring-boot-starter-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sharding-core\5.1.1\shardingsphere-sharding-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sharding-api\5.1.1\shardingsphere-sharding-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\groovy\groovy\4.0.1\groovy-4.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sharding-distsql-handler\5.1.1\shardingsphere-sharding-distsql-handler-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sharding-distsql-statement\5.1.1\shardingsphere-sharding-distsql-statement-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sharding-distsql-parser\5.1.1\shardingsphere-sharding-distsql-parser-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-spi\5.1.1\shardingsphere-sql-parser-spi-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-data-pipeline-core\5.1.1\shardingsphere-data-pipeline-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-data-pipeline-spi\5.1.1\shardingsphere-data-pipeline-spi-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\commons\commons-lang3\3.10\commons-lang3-3.10.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-cluster-mode-repository-zookeeper-curator\5.1.1\shardingsphere-cluster-mode-repository-zookeeper-curator-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\curator\curator-framework\5.1.0\curator-framework-5.1.0.jar;C:\Users\23283\.m2\repository\org\apache\curator\curator-client\5.1.0\curator-client-5.1.0.jar;C:\Users\23283\.m2\repository\org\apache\zookeeper\zookeeper\3.6.0\zookeeper-3.6.0.jar;C:\Users\23283\.m2\repository\org\apache\zookeeper\zookeeper-jute\3.6.0\zookeeper-jute-3.6.0.jar;C:\Users\23283\.m2\repository\org\apache\yetus\audience-annotations\0.5.0\audience-annotations-0.5.0.jar;C:\Users\23283\.m2\repository\io\netty\netty-transport-native-epoll\4.1.55.Final\netty-transport-native-epoll-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-transport-native-unix-common\4.1.55.Final\netty-transport-native-unix-common-4.1.55.Final.jar;C:\Users\23283\.m2\repository\org\apache\curator\curator-recipes\5.1.0\curator-recipes-5.1.0.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-binder\5.1.1\shardingsphere-infra-binder-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-route\5.1.1\shardingsphere-infra-route-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-rewrite\5.1.1\shardingsphere-infra-rewrite-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-merge\5.1.1\shardingsphere-infra-merge-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-system-datetime\5.1.1\shardingsphere-system-datetime-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-datetime-spi\5.1.1\shardingsphere-infra-datetime-spi-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-mode-core\5.1.1\shardingsphere-mode-core-5.1.1.jar;C:\Users\23283\.m2\repository\me\ahoo\cosid\cosid-core\1.8.6\cosid-core-1.8.6.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-shadow-spring-boot-starter\5.1.1\shardingsphere-shadow-spring-boot-starter-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-shadow-core\5.1.1\shardingsphere-shadow-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-shadow-api\5.1.1\shardingsphere-shadow-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-shadow-distsql-handler\5.1.1\shardingsphere-shadow-distsql-handler-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-shadow-distsql-statement\5.1.1\shardingsphere-shadow-distsql-statement-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-shadow-distsql-parser\5.1.1\shardingsphere-shadow-distsql-parser-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-spring-boot-starter\5.1.1\shardingsphere-db-discovery-spring-boot-starter-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-core\5.1.1\shardingsphere-db-discovery-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-api\5.1.1\shardingsphere-db-discovery-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-distsql-handler\5.1.1\shardingsphere-db-discovery-distsql-handler-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-distsql-statement\5.1.1\shardingsphere-db-discovery-distsql-statement-5.1.1.jar;C:\Users\23283\.m2\repository\com\google\code\gson\gson\2.8.6\gson-2.8.6.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-distsql-parser\5.1.1\shardingsphere-db-discovery-distsql-parser-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-mysql\5.1.1\shardingsphere-db-discovery-mysql-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-opengauss\5.1.1\shardingsphere-db-discovery-opengauss-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-schedule-core\5.1.1\shardingsphere-schedule-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-lite-core\3.0.1\elasticjob-lite-core-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-api\3.0.1\elasticjob-api-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-infra-common\3.0.1\elasticjob-infra-common-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-registry-center\3.0.1\elasticjob-registry-center-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-simple-executor\3.0.1\elasticjob-simple-executor-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-executor-kernel\3.0.1\elasticjob-executor-kernel-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-error-handler-general\3.0.1\elasticjob-error-handler-general-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-error-handler-spi\3.0.1\elasticjob-error-handler-spi-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-dataflow-executor\3.0.1\elasticjob-dataflow-executor-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-script-executor\3.0.1\elasticjob-script-executor-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\commons\commons-exec\1.3\commons-exec-1.3.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-http-executor\3.0.1\elasticjob-http-executor-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-tracing-rdb\3.0.1\elasticjob-tracing-rdb-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-tracing-api\3.0.1\elasticjob-tracing-api-3.0.1.jar;C:\Users\23283\.m2\repository\org\quartz-scheduler\quartz\2.3.2\quartz-2.3.2.jar;C:\Users\23283\.m2\repository\com\mchange\mchange-commons-java\0.2.15\mchange-commons-java-0.2.15.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-lite-lifecycle\3.0.1\elasticjob-lite-lifecycle-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-encrypt-spring-boot-starter\5.1.1\shardingsphere-encrypt-spring-boot-starter-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-encrypt-core\5.1.1\shardingsphere-encrypt-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-encrypt-api\5.1.1\shardingsphere-encrypt-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-encrypt-distsql-handler\5.1.1\shardingsphere-encrypt-distsql-handler-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-encrypt-distsql-statement\5.1.1\shardingsphere-encrypt-distsql-statement-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-encrypt-distsql-parser\5.1.1\shardingsphere-encrypt-distsql-parser-5.1.1.jar;C:\Users\23283\.m2\repository\commons-codec\commons-codec\1.14\commons-codec-1.14.jar;C:\Users\23283\.m2\repository\org\bouncycastle\bcprov-jdk15on\1.70\bcprov-jdk15on-1.70.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-readwrite-splitting-spring-boot-starter\5.1.1\shardingsphere-readwrite-splitting-spring-boot-starter-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-readwrite-splitting-core\5.1.1\shardingsphere-readwrite-splitting-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-readwrite-splitting-api\5.1.1\shardingsphere-readwrite-splitting-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-readwrite-splitting-distsql-handler\5.1.1\shardingsphere-readwrite-splitting-distsql-handler-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-readwrite-splitting-distsql-statement\5.1.1\shardingsphere-readwrite-splitting-distsql-statement-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-readwrite-splitting-distsql-parser\5.1.1\shardingsphere-readwrite-splitting-distsql-parser-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-jdbc-spring-boot-starter-infra\5.1.1\shardingsphere-jdbc-spring-boot-starter-infra-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-jdbc-transaction-spring\5.1.1\shardingsphere-jdbc-transaction-spring-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-transaction-core\5.1.1\shardingsphere-transaction-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-transaction-api\5.1.1\shardingsphere-transaction-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-executor\5.1.1\shardingsphere-infra-executor-5.1.1.jar;C:\Users\23283\.m2\repository\io\vertx\vertx-mysql-client\4.2.3\vertx-mysql-client-4.2.3.jar;C:\Users\23283\.m2\repository\io\vertx\vertx-core\4.2.3\vertx-core-4.2.3.jar;C:\Users\23283\.m2\repository\io\netty\netty-common\4.1.55.Final\netty-common-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-buffer\4.1.55.Final\netty-buffer-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-transport\4.1.55.Final\netty-transport-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-handler\4.1.55.Final\netty-handler-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-codec\4.1.55.Final\netty-codec-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-handler-proxy\4.1.55.Final\netty-handler-proxy-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-codec-socks\4.1.55.Final\netty-codec-socks-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-codec-http\4.1.55.Final\netty-codec-http-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-codec-http2\4.1.55.Final\netty-codec-http2-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-resolver\4.1.55.Final\netty-resolver-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-resolver-dns\4.1.55.Final\netty-resolver-dns-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-codec-dns\4.1.55.Final\netty-codec-dns-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\vertx\vertx-sql-client\4.2.3\vertx-sql-client-4.2.3.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-parser-spring-boot-starter\5.1.1\shardingsphere-parser-spring-boot-starter-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-parser-core\5.1.1\shardingsphere-parser-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-parser-api\5.1.1\shardingsphere-parser-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-parser\5.1.1\shardingsphere-infra-parser-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-jdbc-core\5.1.1\shardingsphere-jdbc-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-sql92\5.1.1\shardingsphere-sql-parser-sql92-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-engine\5.1.1\shardingsphere-sql-parser-engine-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-statement\5.1.1\shardingsphere-sql-parser-statement-5.1.1.jar;C:\Users\23283\.m2\repository\org\antlr\antlr4-runtime\4.9.2\antlr4-runtime-4.9.2.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-mysql\5.1.1\shardingsphere-sql-parser-mysql-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-postgresql\5.1.1\shardingsphere-sql-parser-postgresql-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-oracle\5.1.1\shardingsphere-sql-parser-oracle-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-sqlserver\5.1.1\shardingsphere-sql-parser-sqlserver-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-opengauss\5.1.1\shardingsphere-sql-parser-opengauss-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-authority-core\5.1.1\shardingsphere-authority-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-authority-api\5.1.1\shardingsphere-authority-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-single-table-core\5.1.1\shardingsphere-single-table-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-single-table-api\5.1.1\shardingsphere-single-table-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-traffic-core\5.1.1\shardingsphere-traffic-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-common\5.1.1\shardingsphere-infra-common-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-spi\5.1.1\shardingsphere-spi-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-traffic-api\5.1.1\shardingsphere-traffic-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-context\5.1.1\shardingsphere-infra-context-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-distsql-parser\5.1.1\shardingsphere-distsql-parser-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-distsql-statement\5.1.1\shardingsphere-distsql-statement-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-federation-optimizer\5.1.1\shardingsphere-infra-federation-optimizer-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\calcite\calcite-core\1.27.0\calcite-core-1.27.0.jar;C:\Users\23283\.m2\repository\org\apache\calcite\calcite-linq4j\1.27.0\calcite-linq4j-1.27.0.jar;C:\Users\23283\.m2\repository\com\esri\geometry\esri-geometry-api\2.2.0\esri-geometry-api-2.2.0.jar;C:\Users\23283\.m2\repository\org\apache\calcite\avatica\avatica-core\1.18.0\avatica-core-1.18.0.jar;C:\Users\23283\.m2\repository\org\apache\calcite\avatica\avatica-metrics\1.18.0\avatica-metrics-1.18.0.jar;C:\Users\23283\.m2\repository\com\google\protobuf\protobuf-java\3.6.1\protobuf-java-3.6.1.jar;C:\Users\23283\.m2\repository\org\apache\httpcomponents\httpclient\4.5.13\httpclient-4.5.13.jar;C:\Users\23283\.m2\repository\org\apache\httpcomponents\httpcore\4.4.14\httpcore-4.4.14.jar;C:\Users\23283\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-yaml\2.11.3\jackson-dataformat-yaml-2.11.3.jar;C:\Users\23283\.m2\repository\com\google\uzaygezen\uzaygezen-core\0.2\uzaygezen-core-0.2.jar;C:\Users\23283\.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar;C:\Users\23283\.m2\repository\com\yahoo\datasketches\sketches-core\0.9.0\sketches-core-0.9.0.jar;C:\Users\23283\.m2\repository\com\yahoo\datasketches\memory\0.9.0\memory-0.9.0.jar;C:\Users\23283\.m2\repository\net\hydromatic\aggdesigner-algorithm\6.0\aggdesigner-algorithm-6.0.jar;C:\Users\23283\.m2\repository\commons-lang\commons-lang\2.4\commons-lang-2.4.jar;C:\Users\23283\.m2\repository\commons-logging\commons-logging\1.1.3\commons-logging-1.1.3.jar;C:\Users\23283\.m2\repository\org\apache\commons\commons-dbcp2\2.7.0\commons-dbcp2-2.7.0.jar;C:\Users\23283\.m2\repository\org\apache\commons\commons-pool2\2.8.1\commons-pool2-2.8.1.jar;C:\Users\23283\.m2\repository\commons-io\commons-io\2.4\commons-io-2.4.jar;C:\Users\23283\.m2\repository\org\codehaus\janino\commons-compiler\3.1.2\commons-compiler-3.1.2.jar;C:\Users\23283\.m2\repository\org\codehaus\janino\janino\3.1.2\janino-3.1.2.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-memory-mode-core\5.1.1\shardingsphere-memory-mode-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-standalone-mode-core\5.1.1\shardingsphere-standalone-mode-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-standalone-mode-repository-api\5.1.1\shardingsphere-standalone-mode-repository-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-standalone-mode-repository-file\5.1.1\shardingsphere-standalone-mode-repository-file-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-cluster-mode-core\5.1.1\shardingsphere-cluster-mode-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-cluster-mode-repository-api\5.1.1\shardingsphere-cluster-mode-repository-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-federation-executor\5.1.1\shardingsphere-infra-federation-executor-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\commons\commons-collections4\4.2\commons-collections4-4.2.jar;C:\Users\23283\.m2\repository\com\google\guava\guava\30.0-jre\guava-30.0-jre.jar;C:\Users\23283\.m2\repository\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar;C:\Users\23283\.m2\repository\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;C:\Users\23283\.m2\repository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;C:\Users\23283\.m2\repository\org\checkerframework\checker-qual\3.5.0\checker-qual-3.5.0.jar;C:\Users\23283\.m2\repository\com\google\errorprone\error_prone_annotations\2.3.4\error_prone_annotations-2.3.4.jar;C:\Users\23283\.m2\repository\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30.jar;C:\Users\23283\.m2\repository\org\slf4j\jcl-over-slf4j\1.7.30\jcl-over-slf4j-1.7.30.jar;C:\Users\23283\.m2\repository\mysql\mysql-connector-java\8.0.22\mysql-connector-java-8.0.22.jar;C:\Users\23283\.m2\repository\com\baomidou\mybatis-plus-boot-starter\3.3.1\mybatis-plus-boot-starter-3.3.1.jar;C:\Users\23283\.m2\repository\com\baomidou\mybatis-plus\3.3.1\mybatis-plus-3.3.1.jar;C:\Users\23283\.m2\repository\com\baomidou\mybatis-plus-extension\3.3.1\mybatis-plus-extension-3.3.1.jar;C:\Users\23283\.m2\repository\com\baomidou\mybatis-plus-core\3.3.1\mybatis-plus-core-3.3.1.jar;C:\Users\23283\.m2\repository\com\baomidou\mybatis-plus-annotation\3.3.1\mybatis-plus-annotation-3.3.1.jar;C:\Users\23283\.m2\repository\com\github\jsqlparser\jsqlparser\3.1\jsqlparser-3.1.jar;C:\Users\23283\.m2\repository\org\mybatis\mybatis\3.5.3\mybatis-3.5.3.jar;C:\Users\23283\.m2\repository\org\mybatis\mybatis-spring\2.0.3\mybatis-spring-2.0.3.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\2.3.7.RELEASE\spring-boot-autoconfigure-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-starter-jdbc\2.3.7.RELEASE\spring-boot-starter-jdbc-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\com\zaxxer\HikariCP\3.4.5\HikariCP-3.4.5.jar;C:\Users\23283\.m2\repository\org\springframework\spring-jdbc\5.2.12.RELEASE\spring-jdbc-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-tx\5.2.12.RELEASE\spring-tx-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\projectlombok\lombok\1.18.16\lombok-1.18.16.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-starter-test\2.3.7.RELEASE\spring-boot-starter-test-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-test\2.3.7.RELEASE\spring-boot-test-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-test-autoconfigure\2.3.7.RELEASE\spring-boot-test-autoconfigure-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\com\jayway\jsonpath\json-path\2.4.0\json-path-2.4.0.jar;C:\Users\23283\.m2\repository\net\minidev\json-smart\2.3\json-smart-2.3.jar;C:\Users\23283\.m2\repository\net\minidev\accessors-smart\1.2\accessors-smart-1.2.jar;C:\Users\23283\.m2\repository\org\ow2\asm\asm\5.0.4\asm-5.0.4.jar;C:\Users\23283\.m2\repository\jakarta\xml\bind\jakarta.xml.bind-api\2.3.3\jakarta.xml.bind-api-2.3.3.jar;C:\Users\23283\.m2\repository\jakarta\activation\jakarta.activation-api\1.2.2\jakarta.activation-api-1.2.2.jar;C:\Users\23283\.m2\repository\org\assertj\assertj-core\3.16.1\assertj-core-3.16.1.jar;C:\Users\23283\.m2\repository\org\hamcrest\hamcrest\2.2\hamcrest-2.2.jar;C:\Users\23283\.m2\repository\org\junit\jupiter\junit-jupiter\5.6.3\junit-jupiter-5.6.3.jar;C:\Users\23283\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.6.3\junit-jupiter-api-5.6.3.jar;C:\Users\23283\.m2\repository\org\apiguardian\apiguardian-api\1.1.0\apiguardian-api-1.1.0.jar;C:\Users\23283\.m2\repository\org\opentest4j\opentest4j\1.2.0\opentest4j-1.2.0.jar;C:\Users\23283\.m2\repository\org\junit\platform\junit-platform-commons\1.6.3\junit-platform-commons-1.6.3.jar;C:\Users\23283\.m2\repository\org\junit\jupiter\junit-jupiter-params\5.6.3\junit-jupiter-params-5.6.3.jar;C:\Users\23283\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.6.3\junit-jupiter-engine-5.6.3.jar;C:\Users\23283\.m2\repository\org\junit\platform\junit-platform-engine\1.6.3\junit-platform-engine-1.6.3.jar;C:\Users\23283\.m2\repository\org\mockito\mockito-core\3.3.3\mockito-core-3.3.3.jar;C:\Users\23283\.m2\repository\net\bytebuddy\byte-buddy\1.10.18\byte-buddy-1.10.18.jar;C:\Users\23283\.m2\repository\net\bytebuddy\byte-buddy-agent\1.10.18\byte-buddy-agent-1.10.18.jar;C:\Users\23283\.m2\repository\org\objenesis\objenesis\2.6\objenesis-2.6.jar;C:\Users\23283\.m2\repository\org\mockito\mockito-junit-jupiter\3.3.3\mockito-junit-jupiter-3.3.3.jar;C:\Users\23283\.m2\repository\org\skyscreamer\jsonassert\1.5.0\jsonassert-1.5.0.jar;C:\Users\23283\.m2\repository\com\vaadin\external\google\android-json\0.0.20131108.vaadin1\android-json-0.0.20131108.vaadin1.jar;C:\Users\23283\.m2\repository\org\springframework\spring-core\5.2.12.RELEASE\spring-core-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-jcl\5.2.12.RELEASE\spring-jcl-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-test\5.2.12.RELEASE\spring-test-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\xmlunit\xmlunit-core\2.7.0\xmlunit-core-2.7.0.jar" com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit5 com.atguigu.shargingjdbcdemo.ShardingTest,testInsertOrderTableStrategy
20:53:44.115 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating CacheAwareContextLoaderDelegate from class [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate]
20:53:44.122 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating BootstrapContext using constructor [public org.springframework.test.context.support.DefaultBootstrapContext(java.lang.Class,org.springframework.test.context.CacheAwareContextLoaderDelegate)]
20:53:44.141 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating TestContextBootstrapper for test class [com.atguigu.shargingjdbcdemo.ShardingTest] from class [org.springframework.boot.test.context.SpringBootTestContextBootstrapper]
20:53:44.151 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Neither @ContextConfiguration nor @ContextHierarchy found for test class [com.atguigu.shargingjdbcdemo.ShardingTest], using SpringBootContextLoader
20:53:44.154 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [com.atguigu.shargingjdbcdemo.ShardingTest]: class path resource [com/atguigu/shargingjdbcdemo/ShardingTest-context.xml] does not exist
20:53:44.155 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [com.atguigu.shargingjdbcdemo.ShardingTest]: class path resource [com/atguigu/shargingjdbcdemo/ShardingTestContext.groovy] does not exist
20:53:44.155 [main] INFO org.springframework.test.context.support.AbstractContextLoader - Could not detect default resource locations for test class [com.atguigu.shargingjdbcdemo.ShardingTest]: no resource found for suffixes {-context.xml, Context.groovy}.
20:53:44.155 [main] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils - Could not detect default configuration classes for test class [com.atguigu.shargingjdbcdemo.ShardingTest]: ShardingTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
20:53:44.200 [main] DEBUG org.springframework.test.context.support.ActiveProfilesUtils - Could not find an 'annotation declaring class' for annotation type [org.springframework.test.context.ActiveProfiles] and class [com.atguigu.shargingjdbcdemo.ShardingTest]
20:53:44.257 [main] DEBUG org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider - Identified candidate component class: file [D:\BaiduNetdiskDownload\源码(1)\源码\atguigu\atguigu\sharging-jdbc-demo\target\classes\com\atguigu\shargingjdbcdemo\ShargingJdbcDemoApplication.class]
20:53:44.258 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Found @SpringBootConfiguration com.atguigu.shargingjdbcdemo.ShargingJdbcDemoApplication for test class com.atguigu.shargingjdbcdemo.ShardingTest
20:53:44.332 [main] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - @TestExecutionListeners is not present for class [com.atguigu.shargingjdbcdemo.ShardingTest]: using defaults.
20:53:44.332 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener, org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.test.context.event.EventPublishingTestExecutionListener]
20:53:44.343 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@4a003cbe, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@4082ba93, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@17fc391b, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@2b30a42c, org.springframework.test.context.support.DirtiesContextTestExecutionListener@609e8838, org.springframework.test.context.transaction.TransactionalTestExecutionListener@359df09a, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@43df23d3, org.springframework.test.context.event.EventPublishingTestExecutionListener@6d60fe40, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@792b749c, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@23e84203, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@19932c16, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@73eb439a, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@514646ef, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener@305ffe9e]
20:53:44.346 [main] DEBUG org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener - Before test class: context [DefaultTestContext@45d84a20 testClass = ShardingTest, testInstance = [null], testMethod = [null], testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@52f27fbd testClass = ShardingTest, locations = '{}', classes = '{class com.atguigu.shargingjdbcdemo.ShargingJdbcDemoApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@158d2680, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@57a3af25, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@6aeb35e6, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@4c583ecf, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@6f1fba17], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true]], class annotated with @DirtiesContext [false] with mode [null].
20:53:44.366 [main] DEBUG org.springframework.test.context.support.TestPropertySourceUtils - Adding inlined properties to environment: {spring.jmx.enabled=false, org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.3.7.RELEASE)

2026-03-16 20:53:44.577  INFO 19640 --- [           main] c.atguigu.shargingjdbcdemo.ShardingTest  : Starting ShardingTest on LAPTOP-5DIK3NC6 with PID 19640 (started by 23283 in D:\BaiduNetdiskDownload\源码(1)\源码\atguigu\atguigu\sharging-jdbc-demo)
2026-03-16 20:53:44.578  INFO 19640 --- [           main] c.atguigu.shargingjdbcdemo.ShardingTest  : The following profiles are active: dev
2026-03-16 20:53:45.514  INFO 19640 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'stringToNoneShardingStrategyConfigurationConverter' of type [org.apache.shardingsphere.spring.boot.converter.StringToNoneShardingStrategyConfigurationConverter] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2026-03-16 20:53:45.520  INFO 19640 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.shardingsphere-org.apache.shardingsphere.spring.boot.prop.SpringBootPropertiesConfiguration' of type [org.apache.shardingsphere.spring.boot.prop.SpringBootPropertiesConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2026-03-16 20:53:45.866  INFO 19640 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.apache.shardingsphere.spring.boot.ShardingSphereAutoConfiguration' of type [org.apache.shardingsphere.spring.boot.ShardingSphereAutoConfiguration$$EnhancerBySpringCGLIB$$a8a3b25d] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2026-03-16 20:53:46.303  INFO 19640 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2026-03-16 20:53:46.473  INFO 19640 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2026-03-16 20:53:46.479  INFO 19640 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-2 - Starting...
2026-03-16 20:53:46.488  INFO 19640 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-2 - Start completed.
2026-03-16 20:53:46.488  INFO 19640 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-3 - Starting...
2026-03-16 20:53:46.495  INFO 19640 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-3 - Start completed.
 _ _   |_  _ _|_. ___ _ |    _ 
| | |\/|_)(_| | |_\  |_)||_|_\ 
     /               |         
                        3.3.1 
2026-03-16 20:53:48.433  INFO 19640 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2026-03-16 20:53:48.786  INFO 19640 --- [           main] c.atguigu.shargingjdbcdemo.ShardingTest  : Started ShardingTest in 4.411 seconds (JVM running for 5.397)
2026-03-16 20:53:49.423  INFO 19640 --- [           main] ShardingSphere-SQL                       : Logic SQL: INSERT INTO t_order  ( id,
order_no,
user_id,
amount )  VALUES  ( ?,
?,
?,
? )
2026-03-16 20:53:49.423  INFO 19640 --- [           main] ShardingSphere-SQL                       : SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty)
2026-03-16 20:53:49.423  INFO 19640 --- [           main] ShardingSphere-SQL                       : Actual SQL: order1 ::: INSERT INTO t_order1  ( id,
order_no,
user_id,
amount )  VALUES  (?, ?, ?, ?) ::: [2033527152658550786, ATGUIGU100, 1, 100]
2026-03-16 20:53:49.452  INFO 19640 --- [           main] ShardingSphere-SQL                       : Logic SQL: INSERT INTO t_order  ( id,
order_no,
user_id,
amount )  VALUES  ( ?,
?,
?,
? )
2026-03-16 20:53:49.453  INFO 19640 --- [           main] ShardingSphere-SQL                       : SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty)
2026-03-16 20:53:49.453  INFO 19640 --- [           main] ShardingSphere-SQL                       : Actual SQL: order1 ::: INSERT INTO t_order0  ( id,
order_no,
user_id,
amount )  VALUES  (?, ?, ?, ?) ::: [2033527154684399617, ATGUIGU101, 1, 100]
2026-03-16 20:53:49.459  INFO 19640 --- [           main] ShardingSphere-SQL                       : Logic SQL: INSERT INTO t_order  ( id,
order_no,
user_id,
amount )  VALUES  ( ?,
?,
?,
? )
2026-03-16 20:53:49.459  INFO 19640 --- [           main] ShardingSphere-SQL                       : SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty)
2026-03-16 20:53:49.459  INFO 19640 --- [           main] ShardingSphere-SQL                       : Actual SQL: order1 ::: INSERT INTO t_order1  ( id,
order_no,
user_id,
amount )  VALUES  (?, ?, ?, ?) ::: [2033527154747314178, ATGUIGU102, 1, 100]
2026-03-16 20:53:49.465  INFO 19640 --- [           main] ShardingSphere-SQL                       : Logic SQL: INSERT INTO t_order  ( id,
order_no,
user_id,
amount )  VALUES  ( ?,
?,
?,
? )
2026-03-16 20:53:49.465  INFO 19640 --- [           main] ShardingSphere-SQL                       : SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty)
2026-03-16 20:53:49.465  INFO 19640 --- [           main] ShardingSphere-SQL                       : Actual SQL: order1 ::: INSERT INTO t_order0  ( id,
order_no,
user_id,
amount )  VALUES  (?, ?, ?, ?) ::: [2033527154747314179, ATGUIGU103, 1, 100]
2026-03-16 20:53:49.481  INFO 19640 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'
2026-03-16 20:53:49.481  INFO 19640 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2026-03-16 20:53:49.485  INFO 19640 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.
2026-03-16 20:53:49.485  INFO 19640 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-2 - Shutdown initiated...
2026-03-16 20:53:49.487  INFO 19640 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-2 - Shutdown completed.
2026-03-16 20:53:49.487  INFO 19640 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-3 - Shutdown initiated...
2026-03-16 20:53:49.487  INFO 19640 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-3 - Shutdown completed.

Process finished with exit code 0

分表存储1:

分表存储2:

下面这个查询测试的结果为:

java 复制代码
   @Test
    public void testInsertOrderTableStrategy(){

        for (long i = 1; i < 5; i++) {

            Order order = new Order();
            order.setOrderNo("ATGUIGU" + i);
            order.setUserId(1L);
            order.setAmount(new BigDecimal(100));
            orderMapper.insert(order);
        }

        for (long i = 5; i < 9; i++) {

            Order order = new Order();
            order.setOrderNo("ATGUIGU" + i);
            order.setUserId(2L);
            order.setAmount(new BigDecimal(100));
            orderMapper.insert(order);
        }
    }
bash 复制代码
"C:\Program Files\Java\jdk1.8.0_361\bin\java.exe" -ea -Didea.test.cyclic.buffer.size=1048576 "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\lib\idea_rt.jar=56067:C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\bin" -Dfile.encoding=UTF-8 -classpath "C:\Users\23283\.m2\repository\org\junit\platform\junit-platform-launcher\1.6.3\junit-platform-launcher-1.6.3.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\lib\idea_rt.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\plugins\junit\lib\junit5-rt.jar;C:\Program Files\JetBrains\IntelliJ IDEA 2024.1.4\plugins\junit\lib\junit-rt.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_361\jre\lib\rt.jar;D:\BaiduNetdiskDownload\源码(1)\源码\atguigu\atguigu\sharging-jdbc-demo\target\test-classes;D:\BaiduNetdiskDownload\源码(1)\源码\atguigu\atguigu\sharging-jdbc-demo\target\classes;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-starter-web\2.3.7.RELEASE\spring-boot-starter-web-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-starter\2.3.7.RELEASE\spring-boot-starter-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot\2.3.7.RELEASE\spring-boot-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-starter-logging\2.3.7.RELEASE\spring-boot-starter-logging-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\ch\qos\logback\logback-classic\1.2.3\logback-classic-1.2.3.jar;C:\Users\23283\.m2\repository\ch\qos\logback\logback-core\1.2.3\logback-core-1.2.3.jar;C:\Users\23283\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.13.3\log4j-to-slf4j-2.13.3.jar;C:\Users\23283\.m2\repository\org\apache\logging\log4j\log4j-api\2.13.3\log4j-api-2.13.3.jar;C:\Users\23283\.m2\repository\org\slf4j\jul-to-slf4j\1.7.30\jul-to-slf4j-1.7.30.jar;C:\Users\23283\.m2\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;C:\Users\23283\.m2\repository\org\yaml\snakeyaml\1.26\snakeyaml-1.26.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-starter-json\2.3.7.RELEASE\spring-boot-starter-json-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.11.3\jackson-databind-2.11.3.jar;C:\Users\23283\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.11.3\jackson-annotations-2.11.3.jar;C:\Users\23283\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.11.3\jackson-core-2.11.3.jar;C:\Users\23283\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.11.3\jackson-datatype-jdk8-2.11.3.jar;C:\Users\23283\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.11.3\jackson-datatype-jsr310-2.11.3.jar;C:\Users\23283\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.11.3\jackson-module-parameter-names-2.11.3.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-starter-tomcat\2.3.7.RELEASE\spring-boot-starter-tomcat-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\org\apache\tomcat\embed\tomcat-embed-core\9.0.41\tomcat-embed-core-9.0.41.jar;C:\Users\23283\.m2\repository\org\glassfish\jakarta.el\3.0.3\jakarta.el-3.0.3.jar;C:\Users\23283\.m2\repository\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.41\tomcat-embed-websocket-9.0.41.jar;C:\Users\23283\.m2\repository\org\springframework\spring-web\5.2.12.RELEASE\spring-web-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-beans\5.2.12.RELEASE\spring-beans-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-webmvc\5.2.12.RELEASE\spring-webmvc-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-aop\5.2.12.RELEASE\spring-aop-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-context\5.2.12.RELEASE\spring-context-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-expression\5.2.12.RELEASE\spring-expression-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-jdbc-core-spring-boot-starter\5.1.1\shardingsphere-jdbc-core-spring-boot-starter-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sharding-spring-boot-starter\5.1.1\shardingsphere-sharding-spring-boot-starter-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sharding-core\5.1.1\shardingsphere-sharding-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sharding-api\5.1.1\shardingsphere-sharding-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\groovy\groovy\4.0.1\groovy-4.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sharding-distsql-handler\5.1.1\shardingsphere-sharding-distsql-handler-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sharding-distsql-statement\5.1.1\shardingsphere-sharding-distsql-statement-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sharding-distsql-parser\5.1.1\shardingsphere-sharding-distsql-parser-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-spi\5.1.1\shardingsphere-sql-parser-spi-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-data-pipeline-core\5.1.1\shardingsphere-data-pipeline-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-data-pipeline-spi\5.1.1\shardingsphere-data-pipeline-spi-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\commons\commons-lang3\3.10\commons-lang3-3.10.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-cluster-mode-repository-zookeeper-curator\5.1.1\shardingsphere-cluster-mode-repository-zookeeper-curator-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\curator\curator-framework\5.1.0\curator-framework-5.1.0.jar;C:\Users\23283\.m2\repository\org\apache\curator\curator-client\5.1.0\curator-client-5.1.0.jar;C:\Users\23283\.m2\repository\org\apache\zookeeper\zookeeper\3.6.0\zookeeper-3.6.0.jar;C:\Users\23283\.m2\repository\org\apache\zookeeper\zookeeper-jute\3.6.0\zookeeper-jute-3.6.0.jar;C:\Users\23283\.m2\repository\org\apache\yetus\audience-annotations\0.5.0\audience-annotations-0.5.0.jar;C:\Users\23283\.m2\repository\io\netty\netty-transport-native-epoll\4.1.55.Final\netty-transport-native-epoll-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-transport-native-unix-common\4.1.55.Final\netty-transport-native-unix-common-4.1.55.Final.jar;C:\Users\23283\.m2\repository\org\apache\curator\curator-recipes\5.1.0\curator-recipes-5.1.0.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-binder\5.1.1\shardingsphere-infra-binder-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-route\5.1.1\shardingsphere-infra-route-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-rewrite\5.1.1\shardingsphere-infra-rewrite-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-merge\5.1.1\shardingsphere-infra-merge-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-system-datetime\5.1.1\shardingsphere-system-datetime-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-datetime-spi\5.1.1\shardingsphere-infra-datetime-spi-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-mode-core\5.1.1\shardingsphere-mode-core-5.1.1.jar;C:\Users\23283\.m2\repository\me\ahoo\cosid\cosid-core\1.8.6\cosid-core-1.8.6.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-shadow-spring-boot-starter\5.1.1\shardingsphere-shadow-spring-boot-starter-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-shadow-core\5.1.1\shardingsphere-shadow-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-shadow-api\5.1.1\shardingsphere-shadow-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-shadow-distsql-handler\5.1.1\shardingsphere-shadow-distsql-handler-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-shadow-distsql-statement\5.1.1\shardingsphere-shadow-distsql-statement-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-shadow-distsql-parser\5.1.1\shardingsphere-shadow-distsql-parser-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-spring-boot-starter\5.1.1\shardingsphere-db-discovery-spring-boot-starter-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-core\5.1.1\shardingsphere-db-discovery-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-api\5.1.1\shardingsphere-db-discovery-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-distsql-handler\5.1.1\shardingsphere-db-discovery-distsql-handler-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-distsql-statement\5.1.1\shardingsphere-db-discovery-distsql-statement-5.1.1.jar;C:\Users\23283\.m2\repository\com\google\code\gson\gson\2.8.6\gson-2.8.6.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-distsql-parser\5.1.1\shardingsphere-db-discovery-distsql-parser-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-mysql\5.1.1\shardingsphere-db-discovery-mysql-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-db-discovery-opengauss\5.1.1\shardingsphere-db-discovery-opengauss-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-schedule-core\5.1.1\shardingsphere-schedule-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-lite-core\3.0.1\elasticjob-lite-core-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-api\3.0.1\elasticjob-api-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-infra-common\3.0.1\elasticjob-infra-common-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-registry-center\3.0.1\elasticjob-registry-center-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-simple-executor\3.0.1\elasticjob-simple-executor-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-executor-kernel\3.0.1\elasticjob-executor-kernel-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-error-handler-general\3.0.1\elasticjob-error-handler-general-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-error-handler-spi\3.0.1\elasticjob-error-handler-spi-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-dataflow-executor\3.0.1\elasticjob-dataflow-executor-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-script-executor\3.0.1\elasticjob-script-executor-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\commons\commons-exec\1.3\commons-exec-1.3.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-http-executor\3.0.1\elasticjob-http-executor-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-tracing-rdb\3.0.1\elasticjob-tracing-rdb-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-tracing-api\3.0.1\elasticjob-tracing-api-3.0.1.jar;C:\Users\23283\.m2\repository\org\quartz-scheduler\quartz\2.3.2\quartz-2.3.2.jar;C:\Users\23283\.m2\repository\com\mchange\mchange-commons-java\0.2.15\mchange-commons-java-0.2.15.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\elasticjob\elasticjob-lite-lifecycle\3.0.1\elasticjob-lite-lifecycle-3.0.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-encrypt-spring-boot-starter\5.1.1\shardingsphere-encrypt-spring-boot-starter-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-encrypt-core\5.1.1\shardingsphere-encrypt-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-encrypt-api\5.1.1\shardingsphere-encrypt-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-encrypt-distsql-handler\5.1.1\shardingsphere-encrypt-distsql-handler-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-encrypt-distsql-statement\5.1.1\shardingsphere-encrypt-distsql-statement-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-encrypt-distsql-parser\5.1.1\shardingsphere-encrypt-distsql-parser-5.1.1.jar;C:\Users\23283\.m2\repository\commons-codec\commons-codec\1.14\commons-codec-1.14.jar;C:\Users\23283\.m2\repository\org\bouncycastle\bcprov-jdk15on\1.70\bcprov-jdk15on-1.70.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-readwrite-splitting-spring-boot-starter\5.1.1\shardingsphere-readwrite-splitting-spring-boot-starter-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-readwrite-splitting-core\5.1.1\shardingsphere-readwrite-splitting-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-readwrite-splitting-api\5.1.1\shardingsphere-readwrite-splitting-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-readwrite-splitting-distsql-handler\5.1.1\shardingsphere-readwrite-splitting-distsql-handler-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-readwrite-splitting-distsql-statement\5.1.1\shardingsphere-readwrite-splitting-distsql-statement-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-readwrite-splitting-distsql-parser\5.1.1\shardingsphere-readwrite-splitting-distsql-parser-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-jdbc-spring-boot-starter-infra\5.1.1\shardingsphere-jdbc-spring-boot-starter-infra-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-jdbc-transaction-spring\5.1.1\shardingsphere-jdbc-transaction-spring-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-transaction-core\5.1.1\shardingsphere-transaction-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-transaction-api\5.1.1\shardingsphere-transaction-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-executor\5.1.1\shardingsphere-infra-executor-5.1.1.jar;C:\Users\23283\.m2\repository\io\vertx\vertx-mysql-client\4.2.3\vertx-mysql-client-4.2.3.jar;C:\Users\23283\.m2\repository\io\vertx\vertx-core\4.2.3\vertx-core-4.2.3.jar;C:\Users\23283\.m2\repository\io\netty\netty-common\4.1.55.Final\netty-common-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-buffer\4.1.55.Final\netty-buffer-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-transport\4.1.55.Final\netty-transport-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-handler\4.1.55.Final\netty-handler-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-codec\4.1.55.Final\netty-codec-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-handler-proxy\4.1.55.Final\netty-handler-proxy-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-codec-socks\4.1.55.Final\netty-codec-socks-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-codec-http\4.1.55.Final\netty-codec-http-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-codec-http2\4.1.55.Final\netty-codec-http2-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-resolver\4.1.55.Final\netty-resolver-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-resolver-dns\4.1.55.Final\netty-resolver-dns-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\netty\netty-codec-dns\4.1.55.Final\netty-codec-dns-4.1.55.Final.jar;C:\Users\23283\.m2\repository\io\vertx\vertx-sql-client\4.2.3\vertx-sql-client-4.2.3.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-parser-spring-boot-starter\5.1.1\shardingsphere-parser-spring-boot-starter-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-parser-core\5.1.1\shardingsphere-parser-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-parser-api\5.1.1\shardingsphere-parser-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-parser\5.1.1\shardingsphere-infra-parser-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-jdbc-core\5.1.1\shardingsphere-jdbc-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-sql92\5.1.1\shardingsphere-sql-parser-sql92-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-engine\5.1.1\shardingsphere-sql-parser-engine-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-statement\5.1.1\shardingsphere-sql-parser-statement-5.1.1.jar;C:\Users\23283\.m2\repository\org\antlr\antlr4-runtime\4.9.2\antlr4-runtime-4.9.2.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-mysql\5.1.1\shardingsphere-sql-parser-mysql-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-postgresql\5.1.1\shardingsphere-sql-parser-postgresql-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-oracle\5.1.1\shardingsphere-sql-parser-oracle-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-sqlserver\5.1.1\shardingsphere-sql-parser-sqlserver-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-sql-parser-opengauss\5.1.1\shardingsphere-sql-parser-opengauss-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-authority-core\5.1.1\shardingsphere-authority-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-authority-api\5.1.1\shardingsphere-authority-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-single-table-core\5.1.1\shardingsphere-single-table-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-single-table-api\5.1.1\shardingsphere-single-table-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-traffic-core\5.1.1\shardingsphere-traffic-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-common\5.1.1\shardingsphere-infra-common-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-spi\5.1.1\shardingsphere-spi-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-traffic-api\5.1.1\shardingsphere-traffic-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-context\5.1.1\shardingsphere-infra-context-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-distsql-parser\5.1.1\shardingsphere-distsql-parser-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-distsql-statement\5.1.1\shardingsphere-distsql-statement-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-federation-optimizer\5.1.1\shardingsphere-infra-federation-optimizer-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\calcite\calcite-core\1.27.0\calcite-core-1.27.0.jar;C:\Users\23283\.m2\repository\org\apache\calcite\calcite-linq4j\1.27.0\calcite-linq4j-1.27.0.jar;C:\Users\23283\.m2\repository\com\esri\geometry\esri-geometry-api\2.2.0\esri-geometry-api-2.2.0.jar;C:\Users\23283\.m2\repository\org\apache\calcite\avatica\avatica-core\1.18.0\avatica-core-1.18.0.jar;C:\Users\23283\.m2\repository\org\apache\calcite\avatica\avatica-metrics\1.18.0\avatica-metrics-1.18.0.jar;C:\Users\23283\.m2\repository\com\google\protobuf\protobuf-java\3.6.1\protobuf-java-3.6.1.jar;C:\Users\23283\.m2\repository\org\apache\httpcomponents\httpclient\4.5.13\httpclient-4.5.13.jar;C:\Users\23283\.m2\repository\org\apache\httpcomponents\httpcore\4.4.14\httpcore-4.4.14.jar;C:\Users\23283\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-yaml\2.11.3\jackson-dataformat-yaml-2.11.3.jar;C:\Users\23283\.m2\repository\com\google\uzaygezen\uzaygezen-core\0.2\uzaygezen-core-0.2.jar;C:\Users\23283\.m2\repository\log4j\log4j\1.2.17\log4j-1.2.17.jar;C:\Users\23283\.m2\repository\com\yahoo\datasketches\sketches-core\0.9.0\sketches-core-0.9.0.jar;C:\Users\23283\.m2\repository\com\yahoo\datasketches\memory\0.9.0\memory-0.9.0.jar;C:\Users\23283\.m2\repository\net\hydromatic\aggdesigner-algorithm\6.0\aggdesigner-algorithm-6.0.jar;C:\Users\23283\.m2\repository\commons-lang\commons-lang\2.4\commons-lang-2.4.jar;C:\Users\23283\.m2\repository\commons-logging\commons-logging\1.1.3\commons-logging-1.1.3.jar;C:\Users\23283\.m2\repository\org\apache\commons\commons-dbcp2\2.7.0\commons-dbcp2-2.7.0.jar;C:\Users\23283\.m2\repository\org\apache\commons\commons-pool2\2.8.1\commons-pool2-2.8.1.jar;C:\Users\23283\.m2\repository\commons-io\commons-io\2.4\commons-io-2.4.jar;C:\Users\23283\.m2\repository\org\codehaus\janino\commons-compiler\3.1.2\commons-compiler-3.1.2.jar;C:\Users\23283\.m2\repository\org\codehaus\janino\janino\3.1.2\janino-3.1.2.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-memory-mode-core\5.1.1\shardingsphere-memory-mode-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-standalone-mode-core\5.1.1\shardingsphere-standalone-mode-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-standalone-mode-repository-api\5.1.1\shardingsphere-standalone-mode-repository-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-standalone-mode-repository-file\5.1.1\shardingsphere-standalone-mode-repository-file-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-cluster-mode-core\5.1.1\shardingsphere-cluster-mode-core-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-cluster-mode-repository-api\5.1.1\shardingsphere-cluster-mode-repository-api-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\shardingsphere\shardingsphere-infra-federation-executor\5.1.1\shardingsphere-infra-federation-executor-5.1.1.jar;C:\Users\23283\.m2\repository\org\apache\commons\commons-collections4\4.2\commons-collections4-4.2.jar;C:\Users\23283\.m2\repository\com\google\guava\guava\30.0-jre\guava-30.0-jre.jar;C:\Users\23283\.m2\repository\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar;C:\Users\23283\.m2\repository\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;C:\Users\23283\.m2\repository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;C:\Users\23283\.m2\repository\org\checkerframework\checker-qual\3.5.0\checker-qual-3.5.0.jar;C:\Users\23283\.m2\repository\com\google\errorprone\error_prone_annotations\2.3.4\error_prone_annotations-2.3.4.jar;C:\Users\23283\.m2\repository\org\slf4j\slf4j-api\1.7.30\slf4j-api-1.7.30.jar;C:\Users\23283\.m2\repository\org\slf4j\jcl-over-slf4j\1.7.30\jcl-over-slf4j-1.7.30.jar;C:\Users\23283\.m2\repository\mysql\mysql-connector-java\8.0.22\mysql-connector-java-8.0.22.jar;C:\Users\23283\.m2\repository\com\baomidou\mybatis-plus-boot-starter\3.3.1\mybatis-plus-boot-starter-3.3.1.jar;C:\Users\23283\.m2\repository\com\baomidou\mybatis-plus\3.3.1\mybatis-plus-3.3.1.jar;C:\Users\23283\.m2\repository\com\baomidou\mybatis-plus-extension\3.3.1\mybatis-plus-extension-3.3.1.jar;C:\Users\23283\.m2\repository\com\baomidou\mybatis-plus-core\3.3.1\mybatis-plus-core-3.3.1.jar;C:\Users\23283\.m2\repository\com\baomidou\mybatis-plus-annotation\3.3.1\mybatis-plus-annotation-3.3.1.jar;C:\Users\23283\.m2\repository\com\github\jsqlparser\jsqlparser\3.1\jsqlparser-3.1.jar;C:\Users\23283\.m2\repository\org\mybatis\mybatis\3.5.3\mybatis-3.5.3.jar;C:\Users\23283\.m2\repository\org\mybatis\mybatis-spring\2.0.3\mybatis-spring-2.0.3.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\2.3.7.RELEASE\spring-boot-autoconfigure-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-starter-jdbc\2.3.7.RELEASE\spring-boot-starter-jdbc-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\com\zaxxer\HikariCP\3.4.5\HikariCP-3.4.5.jar;C:\Users\23283\.m2\repository\org\springframework\spring-jdbc\5.2.12.RELEASE\spring-jdbc-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-tx\5.2.12.RELEASE\spring-tx-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\projectlombok\lombok\1.18.16\lombok-1.18.16.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-starter-test\2.3.7.RELEASE\spring-boot-starter-test-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-test\2.3.7.RELEASE\spring-boot-test-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\boot\spring-boot-test-autoconfigure\2.3.7.RELEASE\spring-boot-test-autoconfigure-2.3.7.RELEASE.jar;C:\Users\23283\.m2\repository\com\jayway\jsonpath\json-path\2.4.0\json-path-2.4.0.jar;C:\Users\23283\.m2\repository\net\minidev\json-smart\2.3\json-smart-2.3.jar;C:\Users\23283\.m2\repository\net\minidev\accessors-smart\1.2\accessors-smart-1.2.jar;C:\Users\23283\.m2\repository\org\ow2\asm\asm\5.0.4\asm-5.0.4.jar;C:\Users\23283\.m2\repository\jakarta\xml\bind\jakarta.xml.bind-api\2.3.3\jakarta.xml.bind-api-2.3.3.jar;C:\Users\23283\.m2\repository\jakarta\activation\jakarta.activation-api\1.2.2\jakarta.activation-api-1.2.2.jar;C:\Users\23283\.m2\repository\org\assertj\assertj-core\3.16.1\assertj-core-3.16.1.jar;C:\Users\23283\.m2\repository\org\hamcrest\hamcrest\2.2\hamcrest-2.2.jar;C:\Users\23283\.m2\repository\org\junit\jupiter\junit-jupiter\5.6.3\junit-jupiter-5.6.3.jar;C:\Users\23283\.m2\repository\org\junit\jupiter\junit-jupiter-api\5.6.3\junit-jupiter-api-5.6.3.jar;C:\Users\23283\.m2\repository\org\apiguardian\apiguardian-api\1.1.0\apiguardian-api-1.1.0.jar;C:\Users\23283\.m2\repository\org\opentest4j\opentest4j\1.2.0\opentest4j-1.2.0.jar;C:\Users\23283\.m2\repository\org\junit\platform\junit-platform-commons\1.6.3\junit-platform-commons-1.6.3.jar;C:\Users\23283\.m2\repository\org\junit\jupiter\junit-jupiter-params\5.6.3\junit-jupiter-params-5.6.3.jar;C:\Users\23283\.m2\repository\org\junit\jupiter\junit-jupiter-engine\5.6.3\junit-jupiter-engine-5.6.3.jar;C:\Users\23283\.m2\repository\org\junit\platform\junit-platform-engine\1.6.3\junit-platform-engine-1.6.3.jar;C:\Users\23283\.m2\repository\org\mockito\mockito-core\3.3.3\mockito-core-3.3.3.jar;C:\Users\23283\.m2\repository\net\bytebuddy\byte-buddy\1.10.18\byte-buddy-1.10.18.jar;C:\Users\23283\.m2\repository\net\bytebuddy\byte-buddy-agent\1.10.18\byte-buddy-agent-1.10.18.jar;C:\Users\23283\.m2\repository\org\objenesis\objenesis\2.6\objenesis-2.6.jar;C:\Users\23283\.m2\repository\org\mockito\mockito-junit-jupiter\3.3.3\mockito-junit-jupiter-3.3.3.jar;C:\Users\23283\.m2\repository\org\skyscreamer\jsonassert\1.5.0\jsonassert-1.5.0.jar;C:\Users\23283\.m2\repository\com\vaadin\external\google\android-json\0.0.20131108.vaadin1\android-json-0.0.20131108.vaadin1.jar;C:\Users\23283\.m2\repository\org\springframework\spring-core\5.2.12.RELEASE\spring-core-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-jcl\5.2.12.RELEASE\spring-jcl-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\springframework\spring-test\5.2.12.RELEASE\spring-test-5.2.12.RELEASE.jar;C:\Users\23283\.m2\repository\org\xmlunit\xmlunit-core\2.7.0\xmlunit-core-2.7.0.jar" com.intellij.rt.junit.JUnitStarter -ideVersion5 -junit5 com.atguigu.shargingjdbcdemo.ShardingTest,testInsertOrderTableStrategy
21:09:56.468 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating CacheAwareContextLoaderDelegate from class [org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate]
21:09:56.476 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating BootstrapContext using constructor [public org.springframework.test.context.support.DefaultBootstrapContext(java.lang.Class,org.springframework.test.context.CacheAwareContextLoaderDelegate)]
21:09:56.496 [main] DEBUG org.springframework.test.context.BootstrapUtils - Instantiating TestContextBootstrapper for test class [com.atguigu.shargingjdbcdemo.ShardingTest] from class [org.springframework.boot.test.context.SpringBootTestContextBootstrapper]
21:09:56.511 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Neither @ContextConfiguration nor @ContextHierarchy found for test class [com.atguigu.shargingjdbcdemo.ShardingTest], using SpringBootContextLoader
21:09:56.514 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [com.atguigu.shargingjdbcdemo.ShardingTest]: class path resource [com/atguigu/shargingjdbcdemo/ShardingTest-context.xml] does not exist
21:09:56.514 [main] DEBUG org.springframework.test.context.support.AbstractContextLoader - Did not detect default resource location for test class [com.atguigu.shargingjdbcdemo.ShardingTest]: class path resource [com/atguigu/shargingjdbcdemo/ShardingTestContext.groovy] does not exist
21:09:56.514 [main] INFO org.springframework.test.context.support.AbstractContextLoader - Could not detect default resource locations for test class [com.atguigu.shargingjdbcdemo.ShardingTest]: no resource found for suffixes {-context.xml, Context.groovy}.
21:09:56.515 [main] INFO org.springframework.test.context.support.AnnotationConfigContextLoaderUtils - Could not detect default configuration classes for test class [com.atguigu.shargingjdbcdemo.ShardingTest]: ShardingTest does not declare any static, non-private, non-final, nested classes annotated with @Configuration.
21:09:56.556 [main] DEBUG org.springframework.test.context.support.ActiveProfilesUtils - Could not find an 'annotation declaring class' for annotation type [org.springframework.test.context.ActiveProfiles] and class [com.atguigu.shargingjdbcdemo.ShardingTest]
21:09:56.613 [main] DEBUG org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider - Identified candidate component class: file [D:\BaiduNetdiskDownload\源码(1)\源码\atguigu\atguigu\sharging-jdbc-demo\target\classes\com\atguigu\shargingjdbcdemo\ShargingJdbcDemoApplication.class]
21:09:56.614 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Found @SpringBootConfiguration com.atguigu.shargingjdbcdemo.ShargingJdbcDemoApplication for test class com.atguigu.shargingjdbcdemo.ShardingTest
21:09:56.695 [main] DEBUG org.springframework.boot.test.context.SpringBootTestContextBootstrapper - @TestExecutionListeners is not present for class [com.atguigu.shargingjdbcdemo.ShardingTest]: using defaults.
21:09:56.696 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Loaded default TestExecutionListener class names from location [META-INF/spring.factories]: [org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener, org.springframework.test.context.web.ServletTestExecutionListener, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener, org.springframework.test.context.support.DependencyInjectionTestExecutionListener, org.springframework.test.context.support.DirtiesContextTestExecutionListener, org.springframework.test.context.transaction.TransactionalTestExecutionListener, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener, org.springframework.test.context.event.EventPublishingTestExecutionListener]
21:09:56.710 [main] INFO org.springframework.boot.test.context.SpringBootTestContextBootstrapper - Using TestExecutionListeners: [org.springframework.test.context.web.ServletTestExecutionListener@4a003cbe, org.springframework.test.context.support.DirtiesContextBeforeModesTestExecutionListener@4082ba93, org.springframework.boot.test.mock.mockito.MockitoTestExecutionListener@17fc391b, org.springframework.boot.test.autoconfigure.SpringBootDependencyInjectionTestExecutionListener@2b30a42c, org.springframework.test.context.support.DirtiesContextTestExecutionListener@609e8838, org.springframework.test.context.transaction.TransactionalTestExecutionListener@359df09a, org.springframework.test.context.jdbc.SqlScriptsTestExecutionListener@43df23d3, org.springframework.test.context.event.EventPublishingTestExecutionListener@6d60fe40, org.springframework.boot.test.mock.mockito.ResetMocksTestExecutionListener@792b749c, org.springframework.boot.test.autoconfigure.restdocs.RestDocsTestExecutionListener@23e84203, org.springframework.boot.test.autoconfigure.web.client.MockRestServiceServerResetTestExecutionListener@19932c16, org.springframework.boot.test.autoconfigure.web.servlet.MockMvcPrintOnlyOnFailureTestExecutionListener@73eb439a, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverTestExecutionListener@514646ef, org.springframework.boot.test.autoconfigure.webservices.client.MockWebServiceServerTestExecutionListener@305ffe9e]
21:09:56.714 [main] DEBUG org.springframework.test.context.support.AbstractDirtiesContextTestExecutionListener - Before test class: context [DefaultTestContext@45d84a20 testClass = ShardingTest, testInstance = [null], testMethod = [null], testException = [null], mergedContextConfiguration = [WebMergedContextConfiguration@52f27fbd testClass = ShardingTest, locations = '{}', classes = '{class com.atguigu.shargingjdbcdemo.ShargingJdbcDemoApplication}', contextInitializerClasses = '[]', activeProfiles = '{}', propertySourceLocations = '{}', propertySourceProperties = '{org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}', contextCustomizers = set[org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@158d2680, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@57a3af25, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@6aeb35e6, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizerFactory$Customizer@4c583ecf, org.springframework.boot.test.context.SpringBootTestArgs@1, org.springframework.boot.test.context.SpringBootTestWebEnvironment@6f1fba17], resourceBasePath = 'src/main/webapp', contextLoader = 'org.springframework.boot.test.context.SpringBootContextLoader', parent = [null]], attributes = map['org.springframework.test.context.web.ServletTestExecutionListener.activateListener' -> true]], class annotated with @DirtiesContext [false] with mode [null].
21:09:56.738 [main] DEBUG org.springframework.test.context.support.TestPropertySourceUtils - Adding inlined properties to environment: {spring.jmx.enabled=false, org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true}

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::        (v2.3.7.RELEASE)

2026-03-16 21:09:56.904  INFO 31660 --- [           main] c.atguigu.shargingjdbcdemo.ShardingTest  : Starting ShardingTest on LAPTOP-5DIK3NC6 with PID 31660 (started by 23283 in D:\BaiduNetdiskDownload\源码(1)\源码\atguigu\atguigu\sharging-jdbc-demo)
2026-03-16 21:09:56.904  INFO 31660 --- [           main] c.atguigu.shargingjdbcdemo.ShardingTest  : The following profiles are active: dev
2026-03-16 21:09:57.671  INFO 31660 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'stringToNoneShardingStrategyConfigurationConverter' of type [org.apache.shardingsphere.spring.boot.converter.StringToNoneShardingStrategyConfigurationConverter] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2026-03-16 21:09:57.678  INFO 31660 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'spring.shardingsphere-org.apache.shardingsphere.spring.boot.prop.SpringBootPropertiesConfiguration' of type [org.apache.shardingsphere.spring.boot.prop.SpringBootPropertiesConfiguration] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2026-03-16 21:09:58.030  INFO 31660 --- [           main] trationDelegate$BeanPostProcessorChecker : Bean 'org.apache.shardingsphere.spring.boot.ShardingSphereAutoConfiguration' of type [org.apache.shardingsphere.spring.boot.ShardingSphereAutoConfiguration$$EnhancerBySpringCGLIB$$7e713195] is not eligible for getting processed by all BeanPostProcessors (for example: not eligible for auto-proxying)
2026-03-16 21:09:58.462  INFO 31660 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2026-03-16 21:09:58.680  INFO 31660 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
2026-03-16 21:09:58.690  INFO 31660 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-2 - Starting...
2026-03-16 21:09:58.697  INFO 31660 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-2 - Start completed.
2026-03-16 21:09:58.698  INFO 31660 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-3 - Starting...
2026-03-16 21:09:58.705  INFO 31660 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-3 - Start completed.
 _ _   |_  _ _|_. ___ _ |    _ 
| | |\/|_)(_| | |_\  |_)||_|_\ 
     /               |         
                        3.3.1 
2026-03-16 21:10:00.971  INFO 31660 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2026-03-16 21:10:01.337  INFO 31660 --- [           main] c.atguigu.shargingjdbcdemo.ShardingTest  : Started ShardingTest in 4.588 seconds (JVM running for 5.626)
2026-03-16 21:10:02.019  INFO 31660 --- [           main] ShardingSphere-SQL                       : Logic SQL: INSERT INTO t_order  ( id,
order_no,
user_id,
amount )  VALUES  ( ?,
?,
?,
? )
2026-03-16 21:10:02.019  INFO 31660 --- [           main] ShardingSphere-SQL                       : SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty)
2026-03-16 21:10:02.019  INFO 31660 --- [           main] ShardingSphere-SQL                       : Actual SQL: order1 ::: INSERT INTO t_order1  ( id,
order_no,
user_id,
amount )  VALUES  (?, ?, ?, ?) ::: [2033531231912824833, ATGUIGU1, 1, 100]
2026-03-16 21:10:02.043  INFO 31660 --- [           main] ShardingSphere-SQL                       : Logic SQL: INSERT INTO t_order  ( id,
order_no,
user_id,
amount )  VALUES  ( ?,
?,
?,
? )
2026-03-16 21:10:02.043  INFO 31660 --- [           main] ShardingSphere-SQL                       : SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty)
2026-03-16 21:10:02.043  INFO 31660 --- [           main] ShardingSphere-SQL                       : Actual SQL: order1 ::: INSERT INTO t_order0  ( id,
order_no,
user_id,
amount )  VALUES  (?, ?, ?, ?) ::: [2033531234047725569, ATGUIGU2, 1, 100]
2026-03-16 21:10:02.050  INFO 31660 --- [           main] ShardingSphere-SQL                       : Logic SQL: INSERT INTO t_order  ( id,
order_no,
user_id,
amount )  VALUES  ( ?,
?,
?,
? )
2026-03-16 21:10:02.050  INFO 31660 --- [           main] ShardingSphere-SQL                       : SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty)
2026-03-16 21:10:02.050  INFO 31660 --- [           main] ShardingSphere-SQL                       : Actual SQL: order1 ::: INSERT INTO t_order1  ( id,
order_no,
user_id,
amount )  VALUES  (?, ?, ?, ?) ::: [2033531234047725570, ATGUIGU3, 1, 100]
2026-03-16 21:10:02.057  INFO 31660 --- [           main] ShardingSphere-SQL                       : Logic SQL: INSERT INTO t_order  ( id,
order_no,
user_id,
amount )  VALUES  ( ?,
?,
?,
? )
2026-03-16 21:10:02.057  INFO 31660 --- [           main] ShardingSphere-SQL                       : SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty)
2026-03-16 21:10:02.057  INFO 31660 --- [           main] ShardingSphere-SQL                       : Actual SQL: order1 ::: INSERT INTO t_order0  ( id,
order_no,
user_id,
amount )  VALUES  (?, ?, ?, ?) ::: [2033531234114834433, ATGUIGU4, 1, 100]
2026-03-16 21:10:02.062  INFO 31660 --- [           main] ShardingSphere-SQL                       : Logic SQL: INSERT INTO t_order  ( id,
order_no,
user_id,
amount )  VALUES  ( ?,
?,
?,
? )
2026-03-16 21:10:02.063  INFO 31660 --- [           main] ShardingSphere-SQL                       : SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty)
2026-03-16 21:10:02.063  INFO 31660 --- [           main] ShardingSphere-SQL                       : Actual SQL: order0 ::: INSERT INTO t_order1  ( id,
order_no,
user_id,
amount )  VALUES  (?, ?, ?, ?) ::: [2033531234114834434, ATGUIGU5, 2, 100]
2026-03-16 21:10:02.068  INFO 31660 --- [           main] ShardingSphere-SQL                       : Logic SQL: INSERT INTO t_order  ( id,
order_no,
user_id,
amount )  VALUES  ( ?,
?,
?,
? )
2026-03-16 21:10:02.068  INFO 31660 --- [           main] ShardingSphere-SQL                       : SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty)
2026-03-16 21:10:02.068  INFO 31660 --- [           main] ShardingSphere-SQL                       : Actual SQL: order0 ::: INSERT INTO t_order0  ( id,
order_no,
user_id,
amount )  VALUES  (?, ?, ?, ?) ::: [2033531234114834435, ATGUIGU6, 2, 100]
2026-03-16 21:10:02.071  INFO 31660 --- [           main] ShardingSphere-SQL                       : Logic SQL: INSERT INTO t_order  ( id,
order_no,
user_id,
amount )  VALUES  ( ?,
?,
?,
? )
2026-03-16 21:10:02.071  INFO 31660 --- [           main] ShardingSphere-SQL                       : SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty)
2026-03-16 21:10:02.071  INFO 31660 --- [           main] ShardingSphere-SQL                       : Actual SQL: order0 ::: INSERT INTO t_order1  ( id,
order_no,
user_id,
amount )  VALUES  (?, ?, ?, ?) ::: [2033531234181943298, ATGUIGU7, 2, 100]
2026-03-16 21:10:02.075  INFO 31660 --- [           main] ShardingSphere-SQL                       : Logic SQL: INSERT INTO t_order  ( id,
order_no,
user_id,
amount )  VALUES  ( ?,
?,
?,
? )
2026-03-16 21:10:02.075  INFO 31660 --- [           main] ShardingSphere-SQL                       : SQLStatement: MySQLInsertStatement(setAssignment=Optional.empty, onDuplicateKeyColumns=Optional.empty)
2026-03-16 21:10:02.075  INFO 31660 --- [           main] ShardingSphere-SQL                       : Actual SQL: order0 ::: INSERT INTO t_order0  ( id,
order_no,
user_id,
amount )  VALUES  (?, ?, ?, ?) ::: [2033531234181943299, ATGUIGU8, 2, 100]
2026-03-16 21:10:02.090  INFO 31660 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'
2026-03-16 21:10:02.092  INFO 31660 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2026-03-16 21:10:02.097  INFO 31660 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.
2026-03-16 21:10:02.097  INFO 31660 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-2 - Shutdown initiated...
2026-03-16 21:10:02.097  INFO 31660 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-2 - Shutdown completed.
2026-03-16 21:10:02.097  INFO 31660 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-3 - Shutdown initiated...
2026-03-16 21:10:02.097  INFO 31660 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-3 - Shutdown completed.

Process finished with exit code 0

表的数据为:

order0.t_order0

order0.t_order1

order1.t_order0

order1.t_order1

查询测试:

java 复制代码
/**
     * 水平分片:查询所有记录
     * 查询了两个数据源,每个数据源中使用UNION ALL连接两个表
     */
@Test
public void testShardingSelectAll(){

    List<Order> orders = orderMapper.selectList(null);
    orders.forEach(System.out::println);
}

/**
     * 水平分片:根据user_id查询记录
     * 查询了一个数据源,每个数据源中使用UNION ALL连接两个表
     */
@Test
public void testShardingSelectByUserId(){

    QueryWrapper<Order> orderQueryWrapper = new QueryWrapper<>();
    orderQueryWrapper.eq("user_id", 1L);
    List<Order> orders = orderMapper.selectList(orderQueryWrapper);
    orders.forEach(System.out::println);
}

查询所有记录,逻辑SQL与实际SQL的区别,实际SQL需要UNION ALL进行连接

bash 复制代码
2026-03-16 21:17:05.918  INFO 37868 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2026-03-16 21:17:06.284  INFO 37868 --- [           main] c.atguigu.shargingjdbcdemo.ShardingTest  : Started ShardingTest in 4.34 seconds (JVM running for 5.324)
2026-03-16 21:17:06.997  INFO 37868 --- [           main] ShardingSphere-SQL                       : Logic SQL: SELECT  id,order_no,user_id,amount  FROM t_order
2026-03-16 21:17:06.998  INFO 37868 --- [           main] ShardingSphere-SQL                       : SQLStatement: MySQLSelectStatement(table=Optional.empty, limit=Optional.empty, lock=Optional.empty, window=Optional.empty)
2026-03-16 21:17:06.998  INFO 37868 --- [           main] ShardingSphere-SQL                       : Actual SQL: order0 ::: SELECT  id,order_no,user_id,amount  FROM t_order0 UNION ALL SELECT  id,order_no,user_id,amount  FROM t_order1
2026-03-16 21:17:06.998  INFO 37868 --- [           main] ShardingSphere-SQL                       : Actual SQL: order1 ::: SELECT  id,order_no,user_id,amount  FROM t_order0 UNION ALL SELECT  id,order_no,user_id,amount  FROM t_order1
Order(id=2033531234114834435, orderNo=ATGUIGU6, userId=2, amount=100.00)
Order(id=2033531234181943299, orderNo=ATGUIGU8, userId=2, amount=100.00)
Order(id=2033531234114834434, orderNo=ATGUIGU5, userId=2, amount=100.00)
Order(id=2033531234181943298, orderNo=ATGUIGU7, userId=2, amount=100.00)
Order(id=2033531234047725569, orderNo=ATGUIGU2, userId=1, amount=100.00)
Order(id=2033531234114834433, orderNo=ATGUIGU4, userId=1, amount=100.00)
Order(id=2033531231912824833, orderNo=ATGUIGU1, userId=1, amount=100.00)
Order(id=2033531234047725570, orderNo=ATGUIGU3, userId=1, amount=100.00)
2026-03-16 21:17:07.064  INFO 37868 --- [extShutdownHook] o.s.s.concurrent.ThreadPoolTaskExecutor  : Shutting down ExecutorService 'applicationTaskExecutor'
2026-03-16 21:17:07.065  INFO 37868 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown initiated...
2026-03-16 21:17:07.070  INFO 37868 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Shutdown completed.
2026-03-16 21:17:07.070  INFO 37868 --- [extShutdownHook] com.zaxxer.hikari.HikariDataSource       : HikariPool-2 - Shutdown initiated..

水平分片根据user_id查询记录结果:

bash 复制代码
2026-03-16 21:19:37.740  INFO 45820 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2026-03-16 21:19:38.101  INFO 45820 --- [           main] c.atguigu.shargingjdbcdemo.ShardingTest  : Started ShardingTest in 4.714 seconds (JVM running for 5.696)
2026-03-16 21:19:38.878  INFO 45820 --- [           main] ShardingSphere-SQL                       : Logic SQL: SELECT  id,order_no,user_id,amount  FROM t_order 
 
 WHERE (user_id = ?)
2026-03-16 21:19:38.878  INFO 45820 --- [           main] ShardingSphere-SQL                       : SQLStatement: MySQLSelectStatement(table=Optional.empty, limit=Optional.empty, lock=Optional.empty, window=Optional.empty)
2026-03-16 21:19:38.878  INFO 45820 --- [           main] ShardingSphere-SQL                       : Actual SQL: order1 ::: SELECT  id,order_no,user_id,amount  FROM t_order0 
 
 WHERE (user_id = ?) UNION ALL SELECT  id,order_no,user_id,amount  FROM t_order1 
 
 WHERE (user_id = ?) ::: [1, 1]
Order(id=2033531234047725569, orderNo=ATGUIGU2, userId=1, amount=100.00)
Order(id=2033531234114834433, orderNo=ATGUIGU4, userId=1, amount=100.00)
Order(id=2033531231912824833, orderNo=ATGUIGU1, userId=1, amount=100.00)
Order(id=2033531234047725570, orderNo=ATGUIGU3, userId=1, amount=100.00)

分片算法官方说明

官网分片算法

视频链接

水平分表与分库

相关推荐
0xDevNull2 小时前
MySQL的索引下推(ICP)
sql·mysql
倔强的石头1062 小时前
数据库迁移 TCO 全景账本:MySQL 替代中的隐性成本与工程化工具链实测
数据库·mysql·kingbase
小龙加油!!!2 小时前
k8s 部署中间件(mysql、redis、minio、nacos)并持久化数据
mysql·中间件·kubernetes
鸽芷咕2 小时前
从JSON行为差异到事务隔离微调:深度解析金仓“零改造”迁移的内核黑科技
科技·mysql·json·金仓数据库
heze092 小时前
sqli-labs-Less-48
数据库·mysql·网络安全
heze092 小时前
sqli-labs-Less-49
数据库·mysql·网络安全
不过普通话一乙不改名2 小时前
高可用:Keepalived 配置文件详解
mysql
Paxon Zhang3 小时前
MySQL初阶入门的第一步
数据库·mysql·adb
XDHCOM3 小时前
PHP用来把Oracle的数据搬到Mysql里边的一个具体操作示范过程
mysql·oracle·php