MyBatis-Plus分页查询(快速上手运用)

这篇具有很好参考价值的文章主要介绍了MyBatis-Plus分页查询(快速上手运用)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

系列文章目录

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。可配置属性如下图:

mybatisplus 分页查询,后端知识点,MyBatis-Plus知识点,spring boot,后端,maven,java-ee,mybatis

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

//扫描包
@MapperScan("cn.imust.mp.mapper")
//配置类
@Configuration
public class MybatisPlusConfig {
    /**
     * 分页插件,一缓和二缓遵循mybatis的规则
     */
    @Bean
    public 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设置值。这里就不演示了。

mybatisplus 分页查询,后端知识点,MyBatis-Plus知识点,spring boot,后端,maven,java-ee,mybatis

 2.3 分页查询的实现

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

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

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

最后打印到控制台。

实现代码如下:

//分页查询
    @Test
    public 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)。打印总页数、总条数、当前所在页的信息如下。也是打印出来数据库中的第二条数据。实现成功~

mybatisplus 分页查询,后端知识点,MyBatis-Plus知识点,spring boot,后端,maven,java-ee,mybatis


 总结

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

到了这里,关于MyBatis-Plus分页查询(快速上手运用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 窥探系列之Mybatis-plus XML分页查询

    Page类在mybatisPlus中用于分页查询,继承Pagination类,Pagination类的searchCount字段控制是否查询总记录数 顺着看哪里用到了searchCount: com.baomidou.mybatisplus.plugins.PaginationInterceptor 是mybatisPlus的一个插件,也就是说mybatis是通过插件的方式在分页的时候查询总数; 红圈中使用sql解析包

    2024年02月13日
    浏览(29)
  • 【SpringBoot】MyBatis与MyBatis-Plus分页查询 & github中的PageHelper

            笔者写这篇博客是因为近期遇到的关于两者之间的分页代码差距,其实之前也遇见过但是没有去整理这篇博客,但由于还是被困扰了小一会儿时间,所以还是需要 加深记忆 。其实会看前后端传参解决这个问题很快、不麻烦。关于这两个框架的分页代码问题主要就

    2024年02月03日
    浏览(37)
  • SpringBoot整合mybatis-plus实现分页查询(建议收藏)

    一、前言         最近学习了SpringBoot分页查询的两种写法,一种是手动实现,另一种是使用框架实现。现在我将具体的实现流程分享一下。 二、手动实现分页查询         先复习一下,SQL中的limit,下面一行sql语句的意思是从第二个数据开始查,查询出两条数据

    2024年01月16日
    浏览(55)
  • mybatis-plus分页查询(springboot中实现单表和多表查询)

    一、mybatis-plus单表查询 使用mybatis-plus实现单表分页查询 非常方便,主要操作步骤如下: 配置分页查询拦截器 进行分页查询 1.首先,打开mybatis-plus官网的插件(插件主体) 或者点击mybatis-plus插件 我是配置在springboot项目中,所以找到springboot的分页配置 2.配置分页查询拦截器

    2024年02月08日
    浏览(29)
  • spring boot集成mybatis-plus——Mybatis Plus 多表联查(包含分页关联查询,图文讲解)...

     更新时间 2023-01-03 21:41:38 大家好,我是小哈。 本小节中,我们将学习如何通过 Mybatis Plus 实现 多表关联查询 ,以及 分页关联查询 。 本文以 查询用户所下订单 ,来演示 Mybatis Plus 的关联查询,数据库表除了前面小节中已经定义好的用户表外,再额外创建一张订单表,然后

    2024年02月01日
    浏览(62)
  • mybatis-plus技巧--动态表名-多语句-拼接sql--关于mybatis的mysql分页查询总数的优化思考

    传入tableName参数就可以了,不过只能用$不能用# 因为#会发生预编译,然后会在表名上加引号’\\\'。 新建一个表名拦截类实现TableNameHandler mybatisPlus添加插件 实例: 每天按统计 如果表名为count则加上今天的时间 每次设置 直接设置名字,然后就会改变的。 需要在配置文件中的

    2024年01月16日
    浏览(32)
  • Mybatis-Plus详解(新建maven项目、查询所有信息、打印SQL日志、实现CRUD(增删改查)、分页、条件查询且分页,前后端分离式开发)

    MyBatis-Plus(opens new window) (简称MP) 是一个MyBatis(opens new window)的增强工具,在MyBatis的基础上只做增强不做改变,为简化开发、提高效率而生。想查看官网相关内容的化我这里提供了官网地址:https://baomidou.com/ 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般

    2024年02月04日
    浏览(40)
  • SpringBoot+Mybatis-Plus+Thymeleaf+Bootstrap分页查询(前后端完整版开源学习)图书管理系统

    Mybatis-Plus | Spring Boot+Mybatis-Plus+Thymeleaf+Bootstrap分页页查询(前后端都有) 主要参考了这篇博客。 运行截图 3.9.1 mybatis-plus 插入时间和更新时间字段自动填充工具 3.9.2 分页插件工具

    2023年04月11日
    浏览(29)
  • mybatis-plus分页total为0,分页失效,mybatis-plus多租户插件使用

    背景:项目使用mybatis分页插件不生效,以及多租户使用时读取配置异常 多租户插件使用遇到的问题: 最开始在MyTenantLineHandler中使用 @Value(\\\"${tables}\\\"),服务启动时能从配置中心拉取到配置,但在运行时获取到的值为空,试了很多方法都不生效,后面将配置中心的配置在调用My

    2024年02月06日
    浏览(37)
  • mybatis-plus分页方式

    概述 MyBatisPlus中提供的(自带的)分页插件,非常简单,只需要简单的配置就可以实现分页功能。 详细步骤: 第一步::config.MybatisPlusConfig.java:配置类,配置mybatisplus的插件功能。 第二步:验证(测试): 官网介绍: IXxxService.java: XxxServiceImpl.java: XxxController.java 业务(

    2024年02月16日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包