• 为什么在使用PageHelper插件时,指定的每页记录数大小失效?显示所有的记录数


    1.问题现象:

    这里指定每页显示5条,却把所有的记录数都显示出来了

    2.分析:

    之前是可以的,然后发现:PageHelper.startPage(pageNum,pageSize) 和执行sql的语句 顺序颠倒了,然后就出错了。

    3.验证:

    然后,自己就验证一把,在PageHelper.startPage(pageNum,pageSize)语句执行之前和执行之后分别执行同一sql,看看结果是否相同。

    验证代码如下:

    1. @RequestMapping("/furnsByCondition")
    2. @ResponseBody
    3. public Msg listFurnsByCondition(@RequestParam(defaultValue = "1") Integer pageNum,
    4. @RequestParam(defaultValue = "5") Integer pageSize,@RequestParam(defaultValue = "")String search){
    5. List furnList1 = furnService.findByCondition(search);
    6. System.out.println("在PageHelper.startPage()【之前】查询的结果记录数:"+furnList1.size());
    7. PageHelper.startPage(pageNum,pageSize);
    8. List furnList = furnService.findByCondition(search);
    9. System.out.println("在PageHelper.startPage()【之后】查询的结果记录数:"+furnList.size());
    10. PageInfo pageInfo = new PageInfo(furnList,pageSize);
    11. Msg resultMsg = Msg.success();
    12. resultMsg.add("pageInfo",pageInfo);
    13. return resultMsg;
    14. }

    输出结果:

    1. 在PageHelper.startPage()【之前】查询的结果记录数:7
    2. 在PageHelper.startPage()【之后】查询的结果记录数:5

    说明:
    前者查询满足条件的所有记录。并没有进行分页查询
    后者查询满足条件的所有记录。同时进行分页查询

    4.总结:

    在执行PageHelper.startPage(pageNum,pageSize);之前执行的sql并不会进行分页查询,只有之后执行的才会进行分页查询。
    注意:sql语句的执行要在PageHelper.startPage(pageNum,pageSize);之后。

  • 相关阅读:
    nvm安装node一直没有npm
    [Java] Lock(锁)的tryLock失败是否需要unlock?
    ElasticSearch 常见问题
    虹科方案 | 一种通过OPC技术提取数据库数据的解决方案
    oppo手机换荣耀手机,便签数据怎么搬家?
    iptables 命令和 iptables.service 服务 有什么关系 ?
    CleanMyMac X2024免费版苹果电脑杀毒工具
    『Halcon与C#混合编程』002_读取图像、显示图像
    IP基础(2)
    一文学会Spring Boot配置属性
  • 原文地址:https://blog.csdn.net/m0_59084856/article/details/133552353