【MyBatis-Plus】分页查询

为什么?

使用分页查询,可以将查询结果分割成多个部分,每次只查询部分数据,从而提高性能、减少内存消耗、提高用户体验和数据安全性。·

封装分页查询数据类

分页查询的结果通常包含 4 个字段:

  1. page:当前页码
  2. limit:每页大小
  3. total:数据总数
  4. data:查询的数据列表
    page、limit 一般由前端传入接口,而 total 、data 则从分页查询的结果取出。
/*** 分页查询结果泛型类*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PageSelectData<T> {/*** 当前页码*/Long page;/*** 数据总数*/Long total;/*** 每页可显示数据条数*/Long limit;/*** 查询的记录*/List<T> data;
}

封装前端请求参数类

一般在前端请求分页的时候,会提供 page 和 limit 两个参数,分别表示请求第几页,以及每一页的大小。所以可以定义一个分页请求参数类,如下:

/*** 分页请求参数类*/
@Data
@NoArgsConstructor
@AllArgsConstructor
public class PageSelectObj {/*** 当前页码*/Long page;/*** 每页可显示数据条数*/Long limit;
}

执行分页查询

在 dao 层,执行 sql 语句之前,要先定义IPage对象,并将PageSelectObj参数传入。然后在调用 mapper.selectPage(IPage 对象,QueryWrapper 对象),如下:

public IPage<MyObj> list(PageSelectObj obj) {IPage<MyObj> page = new Page<>();page.setCurrent(obj.getPage())  // 当前页码.setSize(obj.getLimit()); // 当前页大小QueryWrapper<MyObj> wrapper = new QueryWrapper<>();wrapper.lambda().in(MyObj::getColumn, xxx);return this.baseMapper.selectPage(page, wrapper);
}

this.baseMapper.selectPage 会返回一个 IPage 类型的对象,从中可以取出 total 和查询出的数据:

Long total = IPage.getTotal();
List<> data = IPage.getRecords()

构建分页查询数据对象

PageSelectData<EcoSystemUser> pageSelectRecords = new PageSelectData<>();
pageSelectRecords.setData(data);
pageSelectRecords.setPage(page);
pageSelectRecords.setLimit(limit);
pageSelectRecords.setTotal(IPage.getTotal());

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/296787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

android tabhost黑色背景,android更改FragmentTabHost背景和文本颜色

您必须使用操作栏选项卡为每个选项卡获取不同的颜色。MainActivity.java&#xff1a;强>public class MainActivity extends FragmentActivity {static ViewPager Tab;TabsPagerAdapter TabAdapter;ActionBar actionBar;Overrideprotected void onCreate(Bundle savedInstan…

你永远不知道女生裙子下面藏着什么

1 心不是这样比的。。2 这翻墙技巧满分3 盖了我的章你就是我的人了&#xff01;4 论道具组可以穷到什么地步5 你永远不知道女生裙子下面藏着什么6 理发店的赶紧来领你的名片&#xff0c;设计好了&#xff01;7 20190523&#xff0c;就是这样一个本质神奇的日子&#xff01;图自…

ksweb如何安装php5.6_Android端的服务器容器 KSWEB PHP+MySQL环境搭建及应用

1. KSWEBksweb是 一个Android端的服务器容器。有 2.7.2 及 2.8.2 版本&#xff0c;可以用下面链接下载&#xff1a;http://bbs.xiaomi.cn/thread-9690863-1-1.html在Android设备上安装这个apk后&#xff0c;启动就会自动化安装好 php环境和mysql。现在我们就可以在浏览器中输入…

android进程间通信:使用AIDL

android 的binder其实是基于 openbinder实现的&#xff0c;openbinder的地址&#xff1a;http://www.angryredplanet.com/~hackbod/openbinder/docs/html/ http://blog.csdn.net/saintswordsman/article/details/5130947 欢迎阅读本文&#xff0c;你能关注本文&#xff0c;你知…

分布式/微服务必配APM系统,SkyWalking让你不迷路

前言如今分布式、微服务盛行&#xff0c;面对拆分服务比较多的系统&#xff0c;如果线上出现异常&#xff0c;需要快速定位到异常服务节点&#xff0c;假如还用传统的方式排查肯定效率是极低的&#xff0c;因为服务之间的各种通信会让定位更加繁琐&#xff1b;所以就急需一个分…

女程序员的无奈

因为新员工的缘故&#xff0c;最近和新来的女同事做了一次绩效面谈。主要是了解一下学习工作情况&#xff0c;团队融合程度等等。 面谈过程中&#xff0c;明显感觉到她作为女性程序员所特有的一些担心。我大概能理解一下&#xff0c;大概有以下几点&#xff1a; 第一、感觉技术…

HDOJ 3784

继续xxx定律 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1238 Accepted Submission(s): 341 Problem Description当n为3时&#xff0c;我们在验证xxx定律的过程中会得到一个序列&#xff0c;3&#xff0c;5…

gamaredon_Gamaredon组织某样本分析

0x01 Запит СБУ.docx文档分析打开文档后&#xff0c;远程注入模板&#xff1a;文档内容如下&#xff1a;翻译后内容如下&#xff1a;由图标也可以看出&#xff1a;0x02 opt.dot模板分析模板启用了宏&#xff0c;通过olevba.py导出后分析。获取主机ComputerName及系统磁…

JQuery Tree 树形结构插件 zTree

zTree 是利用 JQuery 的核心代码&#xff0c;实现一套能完成大部分常用功能的 Tree 插件兼容 IE、FireFox、Chrome 等浏览器在一个页面内可同时生成多个 Tree 实例支持 JSON 数据支持一次性静态生成 和 Ajax 异步加载 两种方式支持多种事件响应及反馈支持 Tree 的节点移动、编辑…

国外的幼儿数学竟然这样出题?来测测你的孩子都会做吗?

全世界只有3.14 % 的人关注了爆炸吧知识数学很重要&#xff0c;也必须要学&#xff01;在家辅导孩子数学的家长可以在家给宝贝们换张有趣的DIY新试卷&#xff01;孩子玩累了&#xff0c;拿出来做一做&#xff0c;无形中学习数学知识&#xff0c;事半功倍&#xff01;填上对的数…

form配置问题

回发或回调参数无效。在配置中使用 或 在页面中使用 启用了事件验证。出于安全目的&#xff0c;此功能验证回发或回调事件的参数是否来源于最初呈现这些事件的服务器控件。如果数据有效并且是预期的&#xff0c;则使用 ClientScriptManager.RegisterForEventValidation 方法来注…

.NET Core 中如何调试 死锁 ?

这篇文章&#xff0c;我们研究一下如何调试一个 死锁问题&#xff0c;可以下载一下 https://github.com/dotnet/samples/tree/main/core/diagnostics/DiagnosticScenarios 源码&#xff0c;程序运行后&#xff0c;你会发现api无响应而且线程会不断增长&#xff0c;然后你会学习…

ProSolid下的遍历访问封装代码

在ProE二次开发中&#xff0c;时常需要遍历ProSolid下的面、点、轴等几何元素。我们知道&#xff0c;ProToolkit下的遍历函数还是有点小麻烦的&#xff0c;而ProWebLink中就简单很多&#xff0c;比如要遍历某ProSolid下的所有Group&#xff0c;代码如下&#xff1a; 1 var gro…

mybatis 多租户saas_MybatisPlus 多租户架构(SaaS)实现

1. 引言读写分离要做的事情就是对于一条SQL该选择哪个数据库去执行&#xff0c;至于谁来做选择数据库这件事儿&#xff0c;无非两个&#xff0c;要么中间件帮我们做&#xff0c;要么程序自己做。因此&#xff0c;一般来讲&#xff0c;读写分离有两种实现方式。第一种是依靠中间…

Floodlight 在 ChannelPipeline 图

我们知道&#xff0c;在Netty架构&#xff0c;一个ServerBootstrap用于生成server端的Channel的时候都须要提供一个ChannelPipelineFactory类型的參数&#xff0c;用于服务于建立连接的Channel&#xff0c;流水线处理来自某个client的请求。所以这里的 OpenflowPipelineFactory…

html超文本链接本页面,从HTML语言到网上家园 第三章 超文本链接(1)-网页设计,HTML/CSS...

超文本链接是 html 语言最大的特点之一&#xff0c;使用超文本链接可以极大的增加文件访问的灵活度&#xff0c;人们可以通过点击页面中的链接指针查看所需的内容&#xff0c;进退自如&#xff0c;灵活方便&#xff0c;这更加符合人的跳跃、交叉的思维方式。凡是浏览过网页的人…

PS景观彩色平面图技巧

1、关于水系&#xff0c;园林学习网 PS景观彩色平面图 水要有阴影&#xff0c;不过是内投影。可以用图层特效来做&#xff0c;也可以用高斯模糊。 要有光感&#xff0c;可以用退晕&#xff0c;也可以用滤镜打光。 2、草地 草地在红线内外一定要区分开色象和明度饱和度&#xff…

牛顿如果穿越到现在,能看懂相对论和量子力学吗?

全世界只有3.14 % 的人关注了爆炸吧知识今天要讲给大家讲一个从朋友BOSS那里听来的故事&#xff0c;而故事的主人公就是赫赫有名的牛顿大神。话说那一天&#xff0c;BOSS在牛顿的苹果树下思考人生。突然牛顿就从苹果树下的棺材里爬了出来&#xff0c;棺材板怎么压都压不住。于是…

【啊哈!算法】之二、插入排序

作者&#xff1a;jofranks 原创作品&#xff0c;转载请标明出处&#xff01;版权所有&#xff0c;侵权必究! 来源&#xff1a;http://blog.csdn.net/jofranks 插入排序包括&#xff1a;直接插入排序&#xff0c;折半插入排序&#xff0c;希尔排序~&#xff01; OK&#xff0c;下…

02Prism WPF 入门实战 - 建项

1.概要Prism介绍Github: https://github.com/PrismLibrary/Prism开发文档&#xff1a;https://prismlibrary.com/docs/Prism是一个框架&#xff0c;用于在WPF、Xamarin Forms、Uno Platform和WinUI中构建松散耦合、可维护和可测试的XAML应用程序。设计目标 为了实现下列目的&a…