• 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开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    centos7.6部署fabric以及链码
    Docker:docker部署Nacos
    软过过程与管理学习之(2)Process Control(流程控制)
    使用asp.net core web api创建web后台,并连接和使用Sql Server数据库
    易货:一种古老而有效的商业模式
    并联机器人结构分析与领域应用
    阿里巴巴云生态 9 大开源项目重磅发布
    JVM调优实战
    word快捷键、conda一些安装问题、坐标转换初阶
    遥感图像应用:在低分辨率图像上实现洪水损害检测(迁移学习)
  • 原文地址:https://blog.csdn.net/m0_67402235/article/details/126061696