Mybatis-Plus分页查询时碰到`total`有值但`records`为空

个人原因:Mybatis-Plus分页插件设置了maxLimit单页条数

// 分页插件配置
PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL);
paginationInnerInterceptor.setMaxLimit(200L);   // 单页分页条数限制(默认无限制)
interceptor.addInnerInterceptor(paginationInnerInterceptor);

方法:可以适当增大maxLimit或者修改代码:

// 分页插件配置
PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL);
paginationInnerInterceptor.setMaxLimit(200L);   // 单页分页条数限制(默认无限制)
paginationInnerInterceptor.setOverflow(true);   // 溢出总页数后是否进行处理(默认不处理)
interceptor.addInnerInterceptor(paginationInnerInterceptor);

注:

Mybatis-Plus分页参数说明如图所示:

在这里插入图片描述

参考链接:Mybatis-Plus分页插件参数说明

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,以下是一个 mybatis-plus 分页查询的示例代码: ``` @Service public class UserServiceImpl implements UserService { @Autowired private UserMapper userMapper; @Override public IPage<User> selectPage(int pageNum, int pageSize) { Page<User> page = new Page<>(pageNum, pageSize); return userMapper.selectPage(page, null); } } ``` 其中,`UserMapper` 是数据访问层,`UserService` 是业务逻辑层,`UserServiceImpl` 是业务逻辑层的实现类。 使用 mybatis-plus 分页查询,可以通过 `Page` 对象实现分页,并通过调用 `userMapper.selectPage` 函数进行查询。 希望这个代码示例能帮助到您。 ### 回答2: MyBatis-Plus 是一款优秀的持久化框架,它对 MyBatis 进行了增强,提供了丰富的功能和成熟的解决方案。其中,分页查询MyBatis-Plus 的核心功能之一,下面是一个示例代码: 首先,需要引入相关的依赖包,在项目的 pom.xml 文件中添加如下依赖: ``` <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版本号</version> </dependency> ``` 接下来,在需要进行分页查询的方法中,使用 Page 类进行分页设置和查询,示例如下: ``` // 创建分页对象,指定当前页和每页显示数量 Page<User> page = new Page<>(currentPage, pageSize); // 构建查询条件 QueryWrapper<User> queryWrapper = new QueryWrapper<>(); queryWrapper.like("name", "张三"); // 执行分页查询 IPage<User> userPage = userMapper.selectPage(page, queryWrapper); // 获取查询结果 List<User> userList = userPage.getRecords(); // 获取总记录数 long total = userPage.getTotal(); ``` 在以上代码中,currentPage 和 pageSize 分别表示当前页码和每页显示的数量,User 是实体类名,userMapper 是 MyBatis 中定义的 Mapper 接口。通过 selectPage() 方法进行分页查询,同可以设置查询条件,该方法会返回一个 IPage 对象,可以通过该对象获取查询结果和总记录数。 以上就是使用 MyBatis-Plus 进行分页查询的示例代码,通过引入依赖包,并结合 Page 和 QueryWrapper 类进行设置和查询,可以方便地实现分页查询功能。 ### 回答3: MyBatis-Plus是一款基于MyBatis的增强工具包,它提供了很多便捷的功能,其中包括分页查询。下面是一个使用MyBatis-Plus进行分页查询的示例代码。 1. 首先,在你的项目中引入MyBatis-Plus的依赖。 ```xml <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>最新版本</version> </dependency> ``` 2. 在你的Mapper接口中定义一个方法,用于执行分页查询。 ```java List<User> selectUserByPage(Page<User> page, @Param("name") String name); ``` 3. 在对应的Mapper XML文件中实现该方法。 ```xml <select id="selectUserByPage" resultType="User"> select * from user where name like concat('%', #{name}, '%') limit #{page.offset}, #{page.size} </select> ``` 4. 在你的Service层中调用该方法进行分页查询。 ```java public Page<User> getUserByPage(int pageNo, int pageSize, String name) { Page<User> page = new Page<>(pageNo, pageSize); List<User> users = userMapper.selectUserByPage(page, name); page.setRecords(users); return page; } ``` 5. 最后,在你的Controller中调用Service层的方法并返回结果。 ```java @GetMapping("/users") public Page<User> getUsersByPage(@RequestParam("pageNo") int pageNo, @RequestParam("pageSize") int pageSize, @RequestParam("name") String name) { return userService.getUserByPage(pageNo, pageSize, name); } ``` 这样,你就可以通过访问`/users?pageNo=1&pageSize=10&name=张三`来进行分页查询了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值