mybatis—PageHelper分页失效问题

2023-11-14

当PageHelper分页失效时,可以看一下PageHelper开启startPage后是否查询了多个list,是否在通过多个mapper.xml方法返回了多个list。
PageHelper.startPage(page,rows);
eg:
错误的情况:
开始分页的时候下面查询了2个list

 PageHelper.startPage(page,rows);
        if (StringUtils.isNotBlank(FB) && StringUtils.isBlank(startDate) && StringUtils.isBlank(endDate)){
            List<SysDate> sysDateList = sysDateMapper.queryDateForFB(FB);
            if (!sysDateList.isEmpty()){
                startDate = sysDateList.get(0).getDate().concat(" 00:00");
                endDate = sysDateList.get(sysDateList.size()-1).getDate().concat(" 23:59");
                 List<PmsTimeTrack> list = pmsTimeTrackMapper.queryPmsTimeTrack(startDate,endDate);
            }else {
                throw new BizException(Code.ERR_OTHER);
            }
 }
  if(list!=null&&list.size()>0){
            PageInfo pageInfo = new PageInfo(list);
            result.setCount(pageInfo.getTotal());
            result.setList(pageInfo.getList());
        }

正确的情况:
在专一的list开启分页。


        if (StringUtils.isNotBlank(FB) && StringUtils.isBlank(startDate) && StringUtils.isBlank(endDate)){
            List<SysDate> sysDateList = sysDateMapper.queryDateForFB(FB);
            if (!sysDateList.isEmpty()){
                startDate = sysDateList.get(0).getDate().concat(" 00:00");
                endDate = sysDateList.get(sysDateList.size()-1).getDate().concat(" 23:59");
                 PageHelper.startPage(page,rows);
                 List<PmsTimeTrack> list = pmsTimeTrackMapper.queryPmsTimeTrack(startDate,endDate);
            }else {
                throw new BizException(Code.ERR_OTHER);
            }
 }
  if(list!=null&&list.size()>0){
            PageInfo pageInfo = new PageInfo(list);
            result.setCount(pageInfo.getTotal());
            result.setList(pageInfo.getList());
        }

同样也可以手写分页:

        int total = list.size();
        //pageHelper无效,手动分页,流操作:sorted排序、skip跳记录和limit限制显示记录数
        List<PmsTimeTrack> collect = list
                .stream()
                .skip((page - 1) * rows)
                .limit(rows)
                .collect(Collectors.toList());
        //计算总页数
        int pageSum = total % rows == 0 ? total / rows : total / rows + 1;
        PageHelper.startPage(page, rows);
        PageInfo<PmsTimeTrack> scorePageInfo = new PageInfo<>(collect);
        //总记录数
        scorePageInfo.setTotal(total);
        //总页数
        scorePageInfo.setPages(pageSum);
        //清除分页缓存
        PageHelper.clearPage();
        return scorePageInfo ;

手写分页原文连接](https://blog.csdn.net/Da_zhenzai/article/details/127864051)
请添加图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mybatis—PageHelper分页失效问题 的相关文章

  • 分享一个QTabWidget的好看样式

    void setTabWidgetStyleSheet QTabWidget obj obj gt setStyleSheet QTabWidget background color transparent QTabWidget pane
  • python rfind函数用法_纵经千万次增删改,初心永不变

    开篇 上一期介绍了字符串及其切片用法 相信你已经掌握 那么这一期 我们就来学习一下字符串的增删改查等一系列方法 正是因为有了这些方法 你才能像呼吸一样自然地操作字符串 需要指出的是 字符串是不可变类型 也就是说 只要一个字符串确定了 那么任
  • Navicat远程连接mysql数据库

    第一 首先能ping通mysql数据库所在的主机 第二 telnet mysql数据库的端口号 如果不行 要在防火墙 高级设置里面 配置入站规则 开放3306端口 第三 如果还不行 结合下面两个网址 http blog csdn net a
  • iOS进阶_Log分类打印日志自动转换中文

    description方法是NSObject类的一个实例方法 因此所有的Object C对象都有description方法 description方法返回的永远是字符串 对于一个Person类 如果没有重写description方法 NSL

随机推荐

  • DWR3常见错误解决方法

    1 提示 缺少对象 原因 程序中使用了dwr util setValue userInfo data 或getValues 之类的语句 而控件ID与这里的userInfo名字不匹配 则提示缺少对象 解决方法 检查每一个setValue中的控
  • 设置对象的键为一个变量

    在JS中将对象的键设为变量的方法是将对象的键用 包起来 否则会直接识别成键名 例如 var key mykey var num mynum let obj key num 上面代码创建后的对象是 key mynum 并不是我们所期望的 my
  • (CVPR2019医学影像)LesaNet配置

    目录 一 环境配置 1 下载CADLab中的LesaNet文件夹 2 roi pooling编译 3 预训练模型下载 二 数据集 三 配置参数 1 demo 2 训练 3 测试 作者原版github LesaNet 一 环境配置 1 下载C
  • 【STM32】系统时钟RCC详解(超详细,超全面)

    转载 https blog csdn net as480133937 article details 98845509 1什么是时钟 时钟是单片机运行的基础 时钟信号推动单片机内各个部分执行相应的指令 时钟系统就是CPU的脉搏 决定cpu速
  • 嵌入式毕业设计 基于红外热释电的房间人数计数系统 - 单片机 物联网嵌入式

    文章目录 0 前言 1 简介 2 主要器件 3 实现效果 4 设计原理 4 1 PIR传感器 4 2 mlx90614红外传感器 5 部分核心代码 6 最后 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新
  • 谈谈前后端分离

    1 首先我们先看看SPA SPA全称是single page application 单页面应用 它是一种网络应用程序 webAPP 模型 传统网站里面 不同页面的切换一般是直接从服务器加载一整个新页面 而SPA这个模型 则是通过动态的重写
  • AI根据视频画面自动配音 ,真假难辨 !(附数据集)

    本文经AI新媒体量子位 公众号ID qbitai 授权转载 转载请联系出处 本文长度为3216字 建议阅读7分钟 本文为你分享实现AI自动为视频配音的流程 先来做个 真假美猴王 的游戏 你将看到两段画面相同的视频 请判断哪段来自视频原声 哪
  • Golang goroutine MPG模式浅析

    协程是通过使用关键字 go 调用 或执行 一个函数或者方法来实现的 也可以是匿名函数 Go 语言在语言层面上支持了并发 goroutine是Go语言提供的一种用户态线程 有时我们也称之为协程 所谓的协程 某种程度上也可以叫做轻量线程 它不由
  • package有什么作用

    常见笔试题 下列说法中 正确的是 A Java 中包的主要作用是实现跨平台功能 B package 语句只能放在 import 语句后面 C 包 package 由一组类 class 和接口 interface 组成 D 可以用 inclu
  • 硬件面试题目

    1 请列举您知道的电阻 电容 电感品牌 最好包括国内 国外品牌 电阻 日本 muRata 村田 Panasonic 松下 ROHM 罗姆 susumu TDK 中国 YAGEO 国巨 FH 风华 电容 日本 Matsushita 松下 mu
  • Windows Git配置SSH

    进入桌面 或者文件管理中右键 gt 打开Git命令窗口 生成ssh keygen 命令 wolfs com 为你的Git账号 ssh keygen t rsa C wolfs com 必要信息有所打码 可自行更改 然后提示你输入密码进行验证
  • vue总引入VConsole

    第一种 使用import的方式 通过main js中引入 先创建一个全局的vconsole js import Vconsole from vconsole const vConsole new Vconsole export defaul
  • mybatis缓存级别以及如何开启二级缓存

    一级缓存 范围 一级缓存是基于 SqlSession 的本地缓存 与单个 SqlSession 相关联 生命周期 一级缓存的生命周期是短暂的 仅在同一个 SqlSession 内有效 当在同一个 SqlSession 中执行相同的查询时 第
  • fcn从头开始_如何使用Go从头开始构建区块链

    fcn从头开始 介绍 Introduction With Web 3 0 and blockchain becoming more mainstream every day do you know what blockchain is Do
  • 复杂网络博弈:用matlab实现囚徒困境

    复现方格网下囚徒困境博弈程序 分别画出b 0 8 2之间 以0 2为间隔的 均衡状态下的网络快照 及合作者比例变化图 设置囚徒困境博弈参数 b values 0 8 0 2 2 0 合作者得到的收益相对于双方都不合作时的收益的比例 N 20
  • 单个el-form-item中有多个必填

    element ui组件里的el form设置为必填都是一对一的 而一个里面包含多个选择框或输入框的却无法实现 怕自己说不清楚 附一张图吧 图中 下发周期 是一个el form item的label名 下面的都包含在里面 设置必填使二者都生
  • 如何在知乎上进行markdown创作?

    前言 废话 题主和大家一样 也是苦苦找不到解决办法 中到有一天 偶然看到一款神器 方才完成由猴到人的蜕变 话不多说 直接上教程 404警告 本猿写教程一向很结构化 看不懂就留言吧 1 正文 如何在知乎上进行markdown创作 所需工具 已
  • LVS+Web

    一 LVS NAT模式 1 根据拓扑图搭建好实验环境 拓扑如下 2 rhel1配置 1 编译ipvsadm源码包 2 ipvsadm配置与启动 3 查看ipvsadm配置 4 开启内核路由转发 vim etc sysctl conf 修改如
  • 阿里云轻量应用服务器使用指南

    阿里云轻量应用服务器使用指南 云服务器 云服务器 Elastic Compute Service ECS 是一种简单高效 安全可靠 处理能力可弹性伸缩的计算服务 其管理方式比物理服务器更简单高效 用户无需提前购买硬件 即可迅速创建或释放任意
  • mybatis—PageHelper分页失效问题

    当PageHelper分页失效时 可以看一下PageHelper开启startPage后是否查询了多个list 是否在通过多个mapper xml方法返回了多个list PageHelper startPage page rows eg 错