Mybatis_plus——标准分页功能制作

news/2024/11/24 2:23:46/

 

mybatispuls中提供分页查询中需要两个参数,一个是IPage接口的实现类,还有一个后面说。

IPage有且只有一个实现类Page类型在里面已经提供有了,传两个参数即可使用,一个是页码值,一个是每页显示数据的条数。查询完之后可以通过Page提供的物种get方法获取各项信息。

  @Testpublic void testGetbypage(){IPage page=new Page(1,2);userMapper.selectPage(page,null);System.out.println("当前页码值"+page.getCurrent());System.out.println("每页显示数"+page.getSize());System.out.println("一共多少页"+page.getPages());System.out.println("一共多少条数据"+page.getTotal());System.out.println("数据"+page.getRecords());}

 但是从上面的这个查询结果可以看见后三条有问题,这里的查询直接变成了查询全部。

分页查询

即在select * from 表名 ???? limit 1,2 就代表了,查询结果中偏移量为1得到的连续前两个数据,如下图所示,这算是一种增强,在原有基础上增加一些功能。称为拦截并增强。

 配置mybatispuls拦截器

mybatispuls提供了一个拦截器叫做分页拦截器,配上了分页功能就有,不配置的话就没有分页功能。

该拦截器是个Bean,需要到配置类中配置这个Bean。

 新建一个MpConfig专门用来定义MyBatis的Bean

@Configuration
public class MpConfig {@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor(){//1.定义拦截器MybatisPlusInterceptor mybatisPlusInterceptor=new MybatisPlusInterceptor();//2.添加具体的拦截器mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor()); //return mybatisPlusInterceptor;}
}

要想让这个配置类中的Bean被加载有多种方法,这里选择在这个配置类上添加一个@Configuration注解,这样就会被扫描器发现了。

再次测试分页功能

这一次成功输出了5条正确的信息。最后查询结果也是只有两条。

开启mp的日志(输出到控制台)

开启之后再次测试有如下的输出 

可以看见分页查询的语句后面有接limit ?,这个问号就是输入的参数。

第一行还有个查询元素个数的语句。

把Page的两个参数改成(2,2)之后代表查询第二页的两条数据。此时的输出结果有如下:

limit后面接了两个问号,因为现在不是第1页了,需要多一个参数,limit语句只接一个数据时表示从第一条开始的?条数据。

小结 

这里的分页查询封装主要步骤就是,安装插件,添加配置类,使用IPage进行操作,最终查询结果都还在IPage当中。日志功能可开可不开。

 

 


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

相关文章

linux下使用tomcat部署项目

一、Linux下配置jdk环境 1 控制台生效 export JAVA_HOME/app/jdk1.8.0_161 export PATH$JAVA_HOME/bin:$PATH export CLASSPATH.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 直接在控制台中执行以上代码 路径根据自己jdk所在目录做以修改2 只对此用户生效 查看隐藏…

敷尔佳三闯IPO:去年狂赚8亿,广告宣传费近4亿

618大促已经开启,敷尔佳能否借“618”撑起“医美面膜第一股”? 近日,哈尔滨敷尔佳科技发展有限公司(下称“敷尔佳”)更新招股书,继续冲刺“医美面膜第一股”。 敷尔佳是一家主要从事专业皮肤护理产品的研…

5个编写技巧,有效提高单元测试实践

1. 什么是单元测试 “在计算机编程中,单元测试又称为模块测试,是针对程序模块来进行正确性检验的测试工作。程序单元是应用的最小可测试部件。在过程化编程中,一个单元就是单个程序、函数、过程等;对于面向对象编程,最…

【TA 100】Flow Map实现水体流动效果

最近刚好学到Shader Graph水体流动,看下其他实现方式记录下 1 什么是flow map 1 什么是Flow map? flowmap的实质:一张记录了2D向量信息的纹理Flow map上的颜色(通常为RG通道) 记录该处向量场的方向,让模型上某一点表现出定量流动的特征。通过在shader中…

戴尔外星人安装Ubuntu系统的注意事项

戴尔外星人win10安装Ubuntu双系统 1、首先要明确是要通过UEFI安装,还是LEGACY安装,对应制作相应的启动盘。 2、进入BIOS将secure boot 设置成disableed。 3、将硬盘的格式从riad改成achi。 4、在安装ubuntu的过程中将/boot的挂载点改成/efi,同…

欧科云链:2023年5月链上安全事件盘点

一、基本信息 2023年5月安全事件约造成1800万美元损失,相比上月有显著下降,但安全事件发生频率并未减少。其中针对Jimbos Protocol的攻击造成了约750万美元损失。Arbitrum链的Swaprum项目Rug Pull造成了约300万美元的损失。此外,社交媒体钓鱼…

在电脑上安装两个不同版本mysql(包括mysql解压版安装和配置,及mysql服务的问题解决)

目录 一、先去官网下载 二、配置my.ini 2.1 去原来安装的mysql里复制my.ini 2.1.1 先勾选显示隐藏项目 2.1.2 再在URL里输入%ProgramData% 2.1.3 然后去mysql的安装目录就可以看到my.ini 2.2 复制到新的mysql的解压目录下 三、双mysql安装准备 3.1 关闭另一个mysql服务…

Kubernetes K8S之kube-prometheus概述与部署

Kubernetes K8S之kube-prometheus概述与部署 主机配置规划 服务器名称(hostname)系统版本配置内网IP外网IP(模拟)k8s-masterCentOS7.72C/4G/20G172.16.1.11010.0.0.110k8s-node01CentOS7.72C/4G/20G172.16.1.11110.0.0.111k8s-node02CentOS7.72C/4G/20G172.16.1.11210.0.0.112…