MyBatis-Plus分页查询获取总记录数为0的问题排查

你提供的代码使用了MyBatis-Plus的分页插件进行分页查询:

@Test
public void testPageQuery(){

    Page page = new Page(1,3);
    userMapper.selectPage(page,null);
    //for (Object record : page.getRecords()) {
    //    System.out.println(record);
    //}
    List<User> list = page.getRecords();
    list.forEach(System.out::println);

    System.out.println('当前页:' + page.getCurrent());
    System.out.println('每页显示的条数:' + page.getSize());
    System.out.println('总记录数:' + page.getTotal());
    System.out.println('总页数:' + page.getPages());
    System.out.println('是否有上一页:' + page.hasPrevious());
    System.out.println('是否有下一页:' + page.hasNext());

}

然而,你遇到了获取的总记录数为0的问题。

出现这种情况可能有以下几个原因:

1. 数据库连接和表数据:

  • 首先,请确保你的数据库连接配置正确,并且数据库可以正常连接。
  • 其次,确认你要查询的表中确实存在数据,并且数据量符合预期。

2. 分页查询条件:

  • 你的代码中使用了 null 作为查询条件,这意味着没有指定任何过滤条件,可能会查询出所有数据。
  • 请确保你的查询条件设置正确,并且能够筛选出预期的数据。可以尝试指定具体的查询条件进行测试。

3. MyBatis-Plus分页插件配置:

  • 确保你的项目中正确引入了MyBatis-Plus分页插件的依赖。
  • 在MyBatis的配置文件中启用了分页插件。
  • 在Mapper接口上使用了 @Mapper 注解,并将 userMapper 注入到测试类中。

排查方法:

  1. 检查数据库连接和表数据,确保数据存在且连接正常。
  2. 尝试指定具体的查询条件进行测试,观察总记录数是否符合预期。
  3. 检查MyBatis-Plus分页插件的配置,确保插件已正确启用。
  4. 打印执行的SQL语句和返回结果,查看具体执行情况,进一步分析问题所在。

如果以上方法都无法解决问题,你可以提供更详细的错误信息、数据库表结构、MyBatis配置文件等信息,以便我更好地帮助你解决问题。


原文地址: https://www.cveoy.top/t/topic/Uu2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录