当前位置:网站首页>IPage能正常显示数据,但是total一直等于0
IPage能正常显示数据,但是total一直等于0
2022-07-05 06:51:00 【Emmmmm_1】
问题描述:代码中使用Mybatis-Plus的自动分页,getRecords()正确,但是getTotal()一直等于0
代码逻辑没问题,所以找Mybatis-Plus配置上的问题
尝试的方法:
1. 配置类上是否加了@Configuration
2. 统计的SQL被自动优化了,导致统计结果不准确--->关闭Mybatis-Plus的自动优化
Page<?> page = new Page<>(currentPage, size); // 开启分页
page.setOptimizeCountSql(false); // 关闭mybatisPlus的自动优化
这样的方法效率较低,可以自己写count sql
page.setSearchCount(false);
page.setTotal(mapper.listCount(sql));
参考文章: MyBatis-Plus的IPage分页total不正确问题
3. 设置数据库的类型
PaginationInnerInterceptor page = new PaginationInnerInterceptor();
page.setDbType(DbType.MYSQL);
return page;
4. 检查mybatis-plus-boot-starter版本
3.4.0版本对此部分有更新,如果是旧版本升级,会出现分页失效问题,同时idea会提示PaginationInterceptor过时,新版本改用了MybatisPlusInterceptor
最终是把PaginationInnerInterceptor换成了MybatisPlusInterceptor解决
成功的代码如下:
@Configuration
public class MybatisPlusConfig {
/**
* 实现分页配置
* @return
*/
@Bean
public MybatisPlusInterceptor mybatisPlusInterceptor() {
MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
interceptor.addInnerInterceptor(new OptimisticLockerInnerInterceptor()); // 注册乐观锁插件
interceptor.addInnerInterceptor(new PaginationInnerInterceptor()); // 分页插件
return interceptor;
}
}
这部分代码来源:Page分页records有数据,但是total=0,解决办法
边栏推荐
猜你喜欢
The problem of Chinese garbled code in the vscode output box can be solved once for life
Speedtree01 generator properties
ethtool 原理介绍和解决网卡丢包排查思路(附ethtool源码下载)
Volcano 资源预留特性
Build a microservice cluster environment locally and learn to deploy automatically
Use the Paping tool to detect TCP port connectivity
并发编程 — 如何中断/停止一个运行中的线程?
GDB code debugging
inux摄像头(mipi接口)简要说明
Orin 两种刷机方式
随机推荐
Empire help
PHY驱动调试之 --- MDIO/MDC接口22号和45号条款(一)
Ret2xx---- common CTF template proposition in PWN
H5 embedded app adapts to dark mode
All English in the code
摄像头的MIPI接口、DVP接口和CSI接口
数学分析_笔记_第8章:重积分
[Chongqing Guangdong education] 1185t administrative leadership reference test of National Open University in autumn 2018
代码中的英语全部
[tf] Unknown: Failed to get convolution algorithm. This is probably because cuDNN failed to initial
Ros2 - workspace (V)
SD_CMD_RECEIVE_SHIFT_REGISTER
Time is fast, please do more meaningful things
Using handler in a new thread
[algorithm post interview] interview questions of a small factory
Executealways of unity is replacing executeineditmode
Volcano resource reservation feature
inux摄像头(mipi接口)简要说明
Redis-01. First meet redis
UIO driven framework