当前位置: 首页 > article >正文

如何使用MybatisPlus进行数据分页显示

如何使用MybatisPlus进行数据的分页呢?

  1. 使用Mybatis Plus提供的分页插件来简化开发,在MybatisPlusInterceptor的拦截器中添加自动分页的PaginationInnerInterceptor拦截器,当前配置需要交给spring的bean管理,类上添加注解@Configuration。
    1. package com.app.studypro.config;
      
      import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
      import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
      import org.springframework.context.annotation.Bean;
      import org.springframework.context.annotation.Configuration;
      
      /**
       * 配置MybatisPlus的配置信息
       *
       * @author Administrator
       */
      @Configuration
      public class MybatisPlusConfig {
      
          @Bean
          public MybatisPlusInterceptor mybatisPlusInterceptor() {
              // 获取MybatisPlus的拦截器链
              MybatisPlusInterceptor mybatisPlusInterceptor = new MybatisPlusInterceptor();
              // 添加分页拦截器PaginationInnerInterceptor,实现自动分页
              mybatisPlusInterceptor.addInnerInterceptor(new PaginationInnerInterceptor());
              return mybatisPlusInterceptor;
          }
      
      }
      
  2. 在需要数据分页处构建Page对象,并根据自己的查询条件查找数据库,分页的信息将会直接存储到Page对象中。
    1. 
          /**
           * 用户信息分页
           *
           * @param page     当前页
           * @param pageSize 每页显示条数
           * @param username 用户名
           * @return 返回分页用户信息
           */
          @GetMapping("/page")
          public ResultBean<Page<User>> page(int page, int pageSize, String username) {
              log.info("page = {},pageSize = {},username = {}", page, pageSize, username);
              // 1、构造简单分页模型
              Page<User> pageInfo = new Page<>(page, pageSize);
              // 2、构造条件构造器
              LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
              // 3、添加用户名过滤条件,使用模糊匹配,不为空时才生效
              queryWrapper.like(StringUtils.isNotEmpty(username), User::getUsername, username);
              // 4、添加排序条件
              queryWrapper.orderByDesc(User::getUpdateTime);
              // 5、执行查询,查询的结果将会直接存在于pageInfo对象中
              userService.page(pageInfo, queryWrapper);
              return ResultBean.success(pageInfo);
          }
      

http://www.kler.cn/news/135085.html

相关文章:

  • SpringMVC log4j1升级log4j2
  • 数据采集与大数据架构分享
  • uniapp App 端 版本更新检测
  • 刷题方法论
  • 中国智能音箱市场销量下降,百度稳居第一 /中国即评出10个大模型创新案例 |魔法半周报
  • Dockerfile基础
  • 前台查看日志功能
  • RK3568 + YT 9215交换机芯片,MAC TO MAC 调试记录
  • 有趣的按钮分享
  • 【备忘录】Docker容器、镜像删除与资源清理命令
  • PC3329L DC-DC降压 10V-100V输入3A大流输出带EN功能实现零功耗只需极少元器件
  • 如何解决 Critical dependency: the request of a dependency is an expression ?
  • 全国行业就业数据,了解第一二三产业的就业人数~
  • 打不开github网页解决方法
  • MFC 对话框
  • Scala--- Actor通信模型
  • sqli-labs关卡18(基于http头部报错盲注)通关思路
  • 同一台Linux同时安装MYSQL5.7和MYSQL8(第二篇)
  • 2024年全网最全的Jmeter教程:jmeter_BeanShell脚本通过BeanShell进行加解密方法
  • C语言——冒泡排序
  • Flume学习笔记(3)—— Flume 自定义组件
  • “轻松实现Linux和Windows文件共享,只需几步配置!“
  • Error: Cannot find module ‘node:util‘
  • 【Flink】核心概念:任务槽(Task Slots)
  • 如果重复定义宏,两个值不同,最终的值是哪一个?
  • 澳洲猫罐头真实水平如何?我家亲自喂养过的优质猫罐头推荐给大家
  • leetcode算法之分治-快排
  • WhatsApp新营销全解:如何才能真正留住你的客户
  • ceph学习笔记
  • 吴恩达《机器学习》9-1:代价函数