码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • MyBatis-plus 分页功能实现


    MyBatis-plus 分页功能实现

      • 一 、环境背景
      • 二 、配置MyBatis-plus的内置分页类
      • 三、场景应用——文章列表分页
        • 3.1 核心函数
        • 3.2 过程分析
        • 3.3 实例代码

    一 、环境背景

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

  • 相关阅读:
    概率论与数理统计学习:随机事件(二)——知识总结与C语言实现案例
    手工打造基于MM32F5微控制器的MicroPython开发板
    借助这个宝藏神器,我成为全栈了
    IDEA—右边maven模块不见了
    计算机网络------静态路由与配置
    excel卡住了还没保存怎么办?
    【HarmonyOS】解决API6 WebView跳转外部浏览器问题、本地模拟器启动黑屏
    Vue+ElementUI启动vue卡死的问题
    基于Java+微信小程序实现《购物商城系统》
    AI时代 编程高手的秘密武器:世界顶级大学推荐的计算机教材
  • 原文地址:https://blog.csdn.net/jiong9412/article/details/126112827
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号