<dependency>
<groupId>com.baomidou</groupId>
<artifactId>dynamic-datasource-spring-boot-starter</artifactId>
<version>3.2.1</version>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>sharding-jdbc-spring-boot-starter</artifactId>
<version>4.1.1</version>
</dependency>
原sql:
参数值与参数个数不匹配
错误: nested exception is java.sql.SQLException: No value specified for parameter 22
shardingspere Actual SQL:
InsertStatementContext.class -> getInsertValueContexts
calculateParametersCount() 这个方法用于统计参数计数,
如果参数类型为ParameterMarkerExpressionSegment类型 才会进行count++
解决方式1:
改sql语句
方式2:
使用 baomidou.dynamic管理sharding,同时把当前方法设置为默认数据源(不走sharding托管)
使用注解: @com.baomidou.dynamic.datasource.annotation.DS(DataSourceConst.MASTER)