• MyBatis-plus 分页功能实现


    MyBatis-plus 分页功能实现

    一 、环境背景

    Springboot下实现博客的文章列表分页

    二 、配置MyBatis-plus的内置分页类

    为了让springboot得知我们配置了分页功能,需要创建配置类,进行以下配置

    1. 增加注解

      @configuration 标注为配置注解

      @MapperScan mybatis扫包,标注配置的应用包位置

      @Configuration
      //mybatis扫包
      @MapperScan(“com.bhy.blog.dao.mapper”)
      public class MybatisPlusConfig {

      //分页插件
      @Bean
      public MybatisPlusInterceptor mybatisPlusInterceptor(){
          MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
          interceptor.addInnerInterceptor(new PaginationInnerInterceptor());
          return interceptor;
      }
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7

      }

    三、场景应用——文章列表分页

    3.1 核心函数

    > E selectPage(E page, @Param("ew") Wrapper queryWrapper);
    
    • 1

    3.2 过程分析

    1. 传入页码信息 (第几页,一页多少条)

      Page
      page= new Page<>(pageParams.getPage(),pageParams.getPageSize());
      • 1
    2. 设置查询条件

      LambdaQueryWrapper
      queryWrapper = new LambdaQueryWrapper<>(); ....
      • 1
      • 2
    3. 使用selectpage()函数,返回Page对象

      Page
      articlePage = articleMapper.selectPage(page, queryWrapper);
      • 1
    4. 通过getRecords()函数从Page对象中获取article数组

      List
      records = articlePage.getRecords();
      • 1
    5. 将article数组传回前端

      return records
      
      • 1

    3.3 实例代码

    该代码实现了 文章列表的分页查询,并遵循置顶优先,创建日期次优先的规则排序

    @Override
    public Result listArticle(PageParams pageParams) {
        Page
    page= new Page<>(pageParams.getPage(),pageParams.getPageSize()); LambdaQueryWrapper
    queryWrapper = new LambdaQueryWrapper<>(); //是否置顶进行排序 创建日期排序 queryWrapper.orderByDesc(Article::getWeight,Article::getCreateDate); Page
    articlePage = articleMapper.selectPage(page, queryWrapper); List
    records = articlePage.getRecords(); return records; }
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    LeetCode刷题笔记【28】:贪心算法专题-6(单调递增的数字、监控二叉树)
    MySQL 数据导入方案推荐
    深入理解 C++ 中的多态与文件操作
    R语言 利用tmap绘制分级色彩地图
    代码随想录刷题|完全背包理论基础 LeetCode 518. 零钱兑换II 377. 组合总和 Ⅳ
    站内SEO是什么?怎么做?
    Centos7下安装MySQL详细步骤
    各种类型的API接口,应有尽有
    百分点科技再度亮相GITEX全球大会
    是时候和 Confluence 说再见了
  • 原文地址:https://blog.csdn.net/m0_67402235/article/details/126061696