问题

pages始终等于1,total 始终等于pageSize

原因

原因是我在查询到list数据之后,对list做了操作,导致分页不正常

// 这是service层的类
public PageInfo<TUiWork> getAllByPagination(Integer pageNum, Integer pageSize) {
PageHelper.startPage(pageNum, pageSize);
List<TUiWork> workList = workMapper.getAll(); // 问题就在这里,我对workList做了操作
List<TUiWork> newWorkList = new ArrayList<>();
for (TUiWork work : workList) {
List<String> imageUrlList = getImageUrlListByIds(work.getImageId());
work.setImageUrls(imageUrlList);
newWorkList.add(work);
} // 把新的list传递给了PageInfo,导致分页不正常
PageInfo<TUiWork> tUiWorkPageInfo = new PageInfo<>(newWorkList);
return tUiWorkPageInfo;
}

解决

第一种:
重新自定义PageInfo类,能解决问题,但是比较繁琐,不探究。

第二种:(推荐)
直接用PageHelper的类来实现,代码如下:

//创建Page类
Page page = new Page(pageNum, pageSize);
//为Page类中的total属性赋值
int total = list.size();
page.setTotal(total);
//计算当前需要显示的数据下标起始值
int startIndex = (pageNum - 1) * pageSize;
int endIndex = Math.min(startIndex + pageSize,total);
//从链表中截取需要显示的子链表,并加入到Page
page.addAll(list.subList(startIndex,endIndex));
//以Page创建PageInfo
PageInfo pageInfo = new PageInfo<>(page);
return pageInfo;

解决PageHelper分页不正常,pages始终等于1,total 始终等于pageSize的问题的更多相关文章

  1. pageHelper分页

    引入jar包 <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pag ...

  2. mybatis pagehelper 分页 失效

    pagehelper 不分页几种情况的解决方法 - web洋仔 - CSDN博客https://blog.csdn.net/csdn___lyy/article/details/77160488 分页 ...

  3. 【spring boot】14.spring boot集成mybatis,注解方式OR映射文件方式AND pagehelper分页插件【Mybatis】pagehelper分页插件分页查询无效解决方法

    spring boot集成mybatis,集成使用mybatis拖沓了好久,今天终于可以补起来了. 本篇源码中,同时使用了Spring data JPA 和 Mybatis两种方式. 在使用的过程中一 ...

  4. PageHelper分页插件的使用

    大家好!今天写ssm项目实现分页的时候用到pageHelper分页插件,在使用过程中出现了一些错误,因此写篇随笔记录下整个过程 1.背景:在项目的开发的过程中,为了实现所有的功能. 2.目标:实现分页 ...

  5. PageHelper分页插件使用

    mybatis的分页插件jar包: 配置方法: 在mybatis配置文件中加下面代码 <plugin interceptor="com.github.pagehelper.PageIn ...

  6. 求助:springboot调用存储过程并使用了pagehelper分页时报错com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException

    存储过程如下: dao层的sql Controller层调用: html页面 没有使用pagehelper分页之前,可以正常使用 使用了pagehelper之后就报错 ### Error queryi ...

  7. 5、SpringBoot+MyBaits+Maven+Idea+pagehelper分页插件

    1.为了我们平时方便开发,我们可以在同一个idea窗口创建多个项目模块,创建方式如下 2.项目中pom.xm文件的内容如下 <?xml version="1.0" encod ...

  8. Spring Boot+Mybatis+Pagehelper分页

    Spring Boot 集成MyBatis和Pagehelper分页插件 mybatis-spring-boot-starter依赖树如下: pom配置 <project xmlns=" ...

  9. PageHelper分页实战(SSM整合)

    步骤一:引入SSM相关的jar包,包列表如下: 步骤二:创建或修改配置文件,配置文件清单如下: applicationContext.xml <?xml version="1.0&qu ...

  10. springboot pagehelper分页无效

    springboot pagehelper分页无效 遇到的问题把所有的数据都查出来了 -然后跟踪代码发现PageHelper.startPage没有生效,生成的sql也没有分页的信息 依赖也引入了 & ...

随机推荐

  1. ubuntu 查看已安装软件命令

    一.查看所有已安装软件包 dpkg -l 二.过滤安装包 yang@ubuntu:~/ansible$ dpkg -l | grep vim ii vim 2:8.1.2269-1ubuntu5.9 ...

  2. 【Linux】ArchLinux 使用之旅

    主要参考以下两个链接进行,安装系统和安装桌面环境. 以官方Wiki的方式安装ArchLinux | viseator's blog ArchLinux安装后的必须配置与图形界面安装教程 | visea ...

  3. [WSL-1-Ubuntu]使用oh-my-zsh美化你的WSL(附脚本)

    在腾讯云买的那个1c2g的服务器,想用mycat搭建一个mysql cluser,用docker部署了一主一从内存就没了一半,可一主一从没啥作用,起码也得2主2从吧?而且还有HA呢,但内存和钱包不给力 ...

  4. tkinter的after函数的使用方法

    1,模块tkinter里面没有aften函数,aften是部分类的类方法. import tkinter l = dir(tkinter) for s in l: if 'after' in eval ...

  5. (原创)odoo one2many字段以子列表形式显示

    模块详情

  6. js获取对象数组中指定属性值的新数据

    例: let arr = [ {name: "name1", age: "1",type:"1"}, {name: "name2& ...

  7. How to setup a Chia Harvester on Ubuntu

    How to setup a Chia Harvester on Ubuntu Posted on May 4, 2021 A Chia Harvest is a computer that farm ...

  8. 浅析Winform的可视样式

    每一个C#的Winform项目的Main方法里,都有这么一行代码,那么它究竟是用来做什么的呢? Application.EnableVisualStyles(); 从注释来看,这是一行用作设置样式的代 ...

  9. unittest学习总结

    2022-02-21 15:03:20 unittest --- 单元测试框架 - Python 3.9.10 文档 可以自由选择版本文档查看 一.unittest概念 unittest是Python ...

  10. Vue中v-if和v-for一起使用时的优先级

    问题:Vue2.0中v-if和v-for一起使用时报错,怎么解决呢? 代码和报错信息如下  原因和解决办法:   在处于同一节点的时候,v-for 优先级比 v-if 高.这意味着 v-if 将分别重 ...