当前位置:网站首页>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,解决办法
边栏推荐
- 【软件测试】05 -- 软件测试的原则
- The differences and connections among cookies, sessions, JWT, and tokens
- What is linting
- 2. Addition and management of Oracle data files
- SOC_SD_CMD_FSM
- PHY驱动调试之 --- PHY控制器驱动(二)
- Xavier CPU & GPU 高负载功耗测试
- NVM Downloading npm version 6.7.0... Error
- Speedtree01 generator properties
- 2022年中纪实 -- 一个普通人的经历
猜你喜欢
随机推荐
Sre core system understanding
Orin installs CUDA environment
The route of wechat applet jumps again without triggering onload
Speedtree01 generator properties
Architecture
Markdown syntax
CGroup CPU group source code analysis
Time is fast, please do more meaningful things
6-4 search by serial number of linked list
Getting started with typescript
testing framework
Technology blog learning website
Executealways of unity is replacing executeineditmode
The differences and connections among cookies, sessions, JWT, and tokens
ROS2——安装ROS2(三)
Qt项目中的日志库log4qt使用
Vant weapp swippecell set multiple buttons
new和malloc的区别
三体目标管理笔记
Instruction execution time