MyBatis-Plus 分页查询, 老项目中 shardingjdbc 分库分表插件后 分页查询查看sql语句 就是这个样子了

第一页LIMIT 0,100
第二页LIMIT 0,200, 
第三页LIMIT 0,300, 
总是取的当前0到截止页码的所有数据

 

把原有引入的jar 包版本从 3.1.0 降到  3.0.0 问题解决
<dependency>   
  <groupId>io.shardingsphere</groupId>
<artifactId>sharding-jdbc-spring-boot-starter</artifactId>
<version>3.1.0</version>
</dependency>
<dependency>
<groupId>io.shardingsphere</groupId>
<artifactId>sharding-jdbc-spring-namespace</artifactId>
   <version>3.1.0</version>
</dependency>

 

<dependency>
<groupId>io.shardingsphere</groupId>
<artifactId>sharding-jdbc-spring-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>io.shardingsphere</groupId>
<artifactId>sharding-jdbc-spring-namespace</artifactId>
   <version>3.0.0</version>
</dependency>

断点查看源码大概是 3.1.0版本中 Limit 类在拼接改写sql语句的时候把原有 startLimit value 值判断更新为0了,感觉是这个版本的bug

Shardingjdbc分页 Limit 总是从0开始查询所有数据问题的解决办法




不过 ,Shardingsphere 插件项目 2020年04月16日已 成为Apache顶级项目,建议用apache 下的新版本

<!-- https://mvnrepository.com/artifact/org.apache.shardingsphere/sharding-jdbc-core -->
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>sharding-jdbc-core</artifactId>
<version>4.1.1</version>
</dependency>

 

相关文章:

  • 2021-04-20
  • 2021-11-19
  • 2021-04-17
  • 2022-12-23
  • 2022-12-23
  • 2021-10-10
  • 2023-03-21
  • 2022-12-23
猜你喜欢
  • 2021-11-19
  • 2022-02-13
  • 2021-11-19
  • 2021-11-19
  • 2021-11-13
  • 2021-12-21
  • 2021-12-22
相关资源
相似解决方案