关于Page及page的分页问题

news/2024/11/22 18:44:33/

使用mapper查询出的结果是Page类型的数据,但是可以拿Page的父类List去接受,但是如果拿Page类型的数据去做集合相关的操作比如remove()、set()、add()时,会报不支持的operation操作,意思是Page类型的父类数据调用remove方法时,会直接抛出该异常。

正确处理方法是:mapper的查询结果使用Page类型来接受,需要处理数据的话,使用Page.getContent() 。

接下来就是 Page.getContent()

该方法获取的是当前分页的数据,比如说 分页请求是 第一页,一页显示二十条数据,那么获取的就是这二十条数据。

此时有一个需求:将所有数据中设置为默认账户的放在第一个(默认账户只要一个),那么你如果是使用java去处理,只能处理前20条的账户中设置为默认的放在第一个,如果默认账户放置在20位后,你就设置不了了。要么将所有的账户全部查询出来,将默认账户放置在第一位,然后自己创建一个分页对象,将分页数据传入Page中返回前端,但是,此时就会导致性能低下,用户不需要查询所有的数据,你查询了出来,导致数据库服务压力增大

解决方式:将默认账户在SQL中查询出来,直接order by。

SQL中是没有defaultFlag字段的,我们需要自己使用子查询语句将defaultFlag构建出来。

由于SQL是由三个查询使用两个union连接起来的,所以需要注意每次的子查询的条件不一致


http://www.ppmy.cn/news/708485.html

相关文章

Page和PageInfo

Page和PageInfo 两者都能获取到数据,Page是一个ArrayList。 PageInfo是一个对象,能获取到的数据比Page多 如何使用 Page对象 参数解析 private int pageNum; //当前页码 private int pageSize; //每页数据的数量 private int startRow; //始页首行行…

PageDirty、PageWriteback、PageReclaim、PageReferenced、PageUptodate等page的各个状态源码讲解

在看内核文件系统read/write、pagecache、内存回收相关代码时,多多少少应该看过if(PageDirty(page))、if(PageWriteback(page))、if(PageReclaim(page))、if (PageReferenced(page))、if (PageUptodate(page))、trylock_page这样内核代码,依次判断page是…

java利用PageHelper.startPage(page, pageSize)分页

代码如下: RequestMapping(value "/selectLockLog", produces "text/html;charsetUTF-8")ResponseBodypublic String selectLockLog(String deviceuid,RequestParam(requiredtrue,defaultValue"1")Integer page, RequestParam(requ…

附加:PageHelper分页插件的:Page和PageInfo的区别;

说明: (1)为什么写本篇博客?: ● 在【Spring Boot电商项目29:商品分类模块八:后台的【分类列表(平铺)】接口;】中,实现分页功能时,使用…

page分页

page分页 PageBean:int totalCount (总记录数)int totalPage (总页码)List<T> list (每页数据)int currentPage (当前页码)int rows (每页显示的记录数)分页使用步骤 1.创建分页对象PageBean. 2.在前端利用bootstrap创建表格和分页工具。&#xff08;如果需要条件…

电脑键盘中英文按键有哪些?有什么作用?

对于电脑键盘&#xff0c;相信大家并不陌生&#xff0c;而在电脑键盘上面有着很多按键&#xff0c;除了数字按键和字母按键之外&#xff0c;还有很多看不懂的英文按键。那么这些英文按键是什么意思呢&#xff1f;如果并不了解&#xff0c;那么小编就为大家介绍所有英文按键的意…

IntelliJ IDEA快捷键大全 + 动图演示

&#x1f447;&#x1f447;关注后回复 “进群” &#xff0c;拉你进程序员交流群&#x1f447;&#x1f447; 来源&#xff1a;blog.csdn.net/weixin_67276852?typeblog 大家好 本文参考了 IntelliJ IDEA 的官网&#xff0c;列举了IntelliJ IDEA&#xff08;Windows 版&#…

I.MX6ULL_Linux_驱动篇(39) 阻塞和非阻塞IO

阻塞和非阻塞 IO 是 Linux 驱动开发里面很常见的两种设备访问模式&#xff0c;在编写驱动的时候一定要考虑到阻塞和非阻塞。本章我们就来学习一下阻塞和非阻塞 IO&#xff0c;以及如何在驱动程序中处理阻塞与非阻塞&#xff0c;如何在驱动程序使用等待队列和 poll 机制。 阻塞…