系列文章目录

Mybatis-Plus知识点[MyBatis+MyBatis-Plus的基础运用]_心态还需努力呀的博客-CSDN博客

Mybatis-Plus+SpringBoot结合运用_心态还需努力呀的博客-CSDN博客
MyBaits-Plus中@TableField和@TableId用法_心态还需努力呀的博客-CSDN博客

MyBatis-Plus中的更新操作(通过id更新和条件更新)_心态还需努力呀的博客-CSDN博客

MyBatis-Plus删除操作知识点总结_心态还需努力呀的博客-CSDN博客


目录

系列文章目录

前言

一、创建MybaitisPlusConfig配置类

二、实现selectPage分页方法

2.1 selectPage方法源码介绍

2.2 Page源码中构造方法

2.3 分页查询的实现

2.4 运行结果

总结


前言

MyBatis-Plus中分页查询是比较方便的,这个功能在网站中也是非常常用的。这方面的知识点是必备的知识点,在了解本文后,就可在springBoot项目下使用分页插件快速实现分页功能。让我们的开发更加的顺畅和快捷。下面我们看实现流程~


一、创建MybaitisPlusConfig配置类

要使用MP的分页功能,必须要先实现分页插件。将内置对象(PaginationInnerInterceptor)new出来。里面有很多的参数可以配置。我们看官网给的参数信息。这里我们也用dbType。可配置属性如下图:

并将扫描包放到配置类中。默认参数想要修改自己去可以设置,这里我们直接用默认的参数做分页查询。代码如下图所示:

//扫描包
@MapperScan("cn.imust.mp.mapper")
//配置类
@Configuration
public class MybatisPlusConfig {/*** 分页插件,一缓和二缓遵循mybatis的规则*/@Beanpublic MybatisPlusInterceptor mybatisPlusInterceptor() {MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL);// 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求  默认false// paginationInnerInterceptor.setOverflow(false);// 设置最大单页限制数量,默认 500 条,-1 不受限制// paginationInnerInterceptor.setMaxLimit(500L);interceptor.addInnerInterceptor(paginationInnerInterceptor);return interceptor;}
}

二、实现selectPage分页方法

2.1 selectPage方法源码介绍

首先看下方的源码:

传入参数中第一个为page对象,所以一会儿写代码要先new出来page对象。

第二个参数为查询的条件,和先前的一样,更具条件查询数据库表。

返回值是一个IPage,当中的T为我们使用的User对象。

<P extends IPage<T>> P selectPage(P page, @Param("ew") Wrapper<T> queryWrapper);

2.2 Page源码中构造方法

下方是Page中自带的构造方法,这里我们用第一个构造方法(下图红色框方法)直接设置当前查询的第几页数(current)和每页的条数(size)。我们测试中是下面的代码

Page<User> page=new Page<>(2,1);//查询的2页,每页显示1条数据

当然这里不用构造方法也可set设置值。这里就不演示了。

2.3 分页查询的实现

编写测试方法testSelectPage(),然后查询第二页的数据(数据条数为1)。

查询条件是用户状态(user_status)为0。

将查询结果封装到提供的IPage里。调用该类下的get方法获取总条数、总页数、当前的页数、该页下的所有数据。

最后打印到控制台。

实现代码如下:

//分页查询@Testpublic void testSelectPage(){Page<User> page=new Page<>(2,1);//查询的2页,显示1条数据QueryWrapper<User> wrapper= new QueryWrapper<>();//查询条件wrapper.like("user_status",0);IPage<User> iPage = this.userMapper.selectPage(page, wrapper);System.out.println("数据总条数:"+iPage.getTotal());System.out.println("数据总页数:"+iPage.getPages());System.out.println("当前的页数:"+iPage.getCurrent());//获取该页数的数据List<User> records = iPage.getRecords();//打印当前页的数据for (User record : records) {System.out.println(record);}}

2.4 运行结果

执行效果图如下:

生成的sql语句中可看到限制关键字(LIMIT)。打印总页数、总条数、当前所在页的信息如下。也是打印出来数据库中的第二条数据。实现成功~


总结

本次的分页查询是非常重要的知识点,将来会很常用到该知识点,在用户访问页面时可进行跳转下一页、输入到第几页、每页有多少数据、总页数、总条数都要呈现在用户眼前,不过是以一种前端修饰后好看的页面展示,但用到的数字都是通过该分页功能实现的才传给前端修饰。数据量大是更能显示出分页功能的好处,大家在练习时可结合前后端显示到页面,将数据库数据多添加几十条看看结果。如果对你有帮助的话点个免费的赞哦~

MyBatis-Plus分页查询(快速上手运用)相关推荐

  1. spring boot集成mybatis-plus——Mybatis Plus 分页查询数据(图解)

    Mybatis Plus 分页查询数据(图解)  更新时间 2023-01-01 11:58:32 大家好,我是小哈. 本小节中,我们将学习如何通过 Mybatis Plus 分页查询数据库表中的数据 ...

  2. Mybatis+springMVC+分页查询+前后端代码

    Mybatis+springMVC+分页查询+前后端代码 前言 我们在公司中经常会用到分页查询,最近,我在做一个公司的任务的时候,调用外部系统时需要将结果封装成分页的数据,之前我们都是直接调用我们公司 ...

  3. mybatis实现分页查询-自己封装分页方法

    大致结构如下: 一.定义返回数据结构 创建返回数据结构主要是为了统一方便,和分页查询的关系并不大,也可以忽略这一步. package boc.ljh.config;import io.swagger. ...

  4. Hasor【付诸实践 03】Dataway 无代码接口工具 DataQL 聚合查询引擎使用 Mybatis 实现分页查询举例说明 + 问题分析(针对GreenPlum数据库)

    Hasor 框架 Dataway 使用可参考我之前分享的 SpringBoot 集成 Hasor[Dataway 无代码接口工具]配置及问题解决 .这里记录一下使用DataQL遇到的问题. 1.举例及 ...

  5. SB mybatis 实现分页查询以及 分页查询请求和返回的封装

    首先实现分页查询很简单 ,这里的前提是你是用制动生成mybatis插件写的mybatis: 1.导入分页gav: <dependency><groupId>com.github ...

  6. MyBatis实现分页查询

    目录 一.基于注解的简单分页查询 1.定义对象 2.Mapper接口 3.Controller类 4.功能实现 二.基于注解的较复杂分页查询 1.定义shop实体类和page分页类 2.Mapper接 ...

  7. 使用 Mybatis——Plus 分页查询

    配置拦截器组件 @Configuration public class MyBatisPlusConfig {//分页插件@Beanpublic MybatisPlusInterceptor Myba ...

  8. MyBatis学习总结(12)——Mybatis+Mysql分页查询

    package cn.tsjinrong.fastfile.util; /**  * @ClassName: Page  * @Description: TODO(分页组件的父类,用来封装分页的 通用 ...

  9. Mybatis一对多分页查询问题

    一.背景引入 Mybatis提供了处理结果集的标签,其中子标签collection可以处理1对多的映射 <resultMap><collection></collecti ...

  10. 智能一代云平台(三十一):mybatis加入分页

    [前言] 在<智能一代云平台(三十):逆向工程生成mybatis>已经将mybatis的逆向工程搞定了:但是美中不足的是mybatis的分页查询:接下来一起来探索一下分页查询. [分页查询 ...

最新文章

  1. CICC科普栏目丨时间之箭:从熵到大爆炸再到万物理论(一)
  2. 关于java设计模式笔记
  3. SuSE sftp限制用户活动目录
  4. VC中CCheckListBox使用注意事项
  5. PDA手持终端WinCE系统连接SqlServer数据库
  6. centos 删除crontab_Centos 7 安装crontab及cron常用命令
  7. ubuntu16.04备份和恢复系统
  8. 半小时入门MATLAB编程入门基础知识:
  9. 配置SQL Server的命名管道和TCP/IP设置
  10. Centos系统基于Docker安装tensorflow
  11. 编译GDAL支持MySQL
  12. 迭代器模式的原理和实现
  13. java:中文汉语数字和阿拉伯数字互相转换,人民币大小写转换
  14. 【杀毒】-记一次挖矿病毒sysdrr杀毒
  15. 廊坊金彩教育:拼多多运营方案
  16. 海天MA3200Ⅱ/1700卧式_节能注塑机
  17. JAVA经典面试题(来源于互联网)
  18. 关系型数据库第四章笔记---关系数据理论
  19. otc焊接机器人编程模拟软件_otc焊接机器人编程
  20. Centos8安装常用软件及家用操作命令

热门文章

  1. 测开系列Selenium Webdriver Python(21)--元素定位2
  2. 高中信息技术:信息技术教学论
  3. 两点确定一条直线,已知四个点确定的两条直线,求这两条直线的交点
  4. java Itextpdf 图片转pdf并压缩下载至浏览器
  5. 八一电大c语言程序设计,2019年中央电大本科《生产与运作管理》期末考试资料...
  6. 人生苦短,我用Python--爬虫模拟登陆教务处并且保存数据到本地
  7. <<计算机操作系统(慕课版)>>第三章参考答案
  8. 【Python】pyserial module sends hex style byte data to embedd system
  9. NFC是什么 Android手机上的NFC都能做什么
  10. 最新电脑版微信可以刷朋友圈啦