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

MyBatis-Plus如何分页查询?

MyBatis-Plus提供了一种简单而强大的分页查询功能,可以通过使用Page对象和Mapper接口中的方法来实现。以下是分页查询的基本步骤:

添加分页插件依赖

确保你的项目中已经添加了MyBatis-Plus的分页插件依赖。

<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>合适的版本号</version>
</dependency>

配置分页插件

在你的配置类中添加分页插件的配置。

import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;@Configuration
public class MybatisPlusConfig {@Beanpublic PaginationInterceptor paginationInterceptor() {return new PaginationInterceptor();}
}

创建Page对象

在你的服务层或控制器层,创建一个Page<T>对象,其中T是你要查询的实体类类型。

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;// 第1页,每页10条数据。
Page<User> page = new Page<>(1, 10);

调用分页查询方法

如果需要自定义查询条件,可以创建一个QueryWrapper<T>对象,并在其中设置条件。

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(User::delFlag, 0);// 然后将其作为 selectPage 方法的第二个参数传入
Page<User> userPage = userMapper.selectPage(page, queryWrapper);

获取分页结果

selectPage方法会返回一个IPage<T>对象,其中包含了分页结果和分页信息。

// 获取分页数据列表
List<User> users = userPage.getRecords();// 获取当前页码
int current = userPage.getCurrent();// 获取总记录数
int totalRecords = userPage.getTotal();// 获取总页数
int pages = userPage.getPages();// 获取每页数量
int size = userPage.getSize();

MyBatis-Plus的分页插件会自动处理SQL的LIMIT部分,你只需要关注于传递正确的参数和处理结果。分页插件还提供了对前端分页信息的支持,如totalPagespageSizetotalRecords等。

http://www.lryc.cn/news/451501.html

相关文章:

  • 云原生之容器编排实践-OpenEuler23.09离线安装Kubernetes与KubeSphere
  • 构建企业数字化转型的战略基石——TOGAF框架的深度解析
  • docker -私有镜像仓库 - harbor安装
  • 头号积木玩家——软件工程专业职业生涯规划报告
  • Redis(初步认识和安装)
  • 计算机网络:计算机网络概述:网络、互联网与因特网的区别
  • 网络编程套接字TCP
  • Git
  • 【日常记录】现在遇到的Y7000P亮度无法调节问题,无需改动注册表进行调整的方法。
  • ubuntu20.04.6 触摸屏一体机,外接视频流盒子开机输入登录密码触屏失灵问题解决方法
  • 师生健康信息管理:SpringBoot技术指南
  • 手机/平板端 Wallpaper 动态壁纸文件获取及白嫖使用指南
  • 【软件工程】模块化思想概述
  • 解决方案:机器学习中,出现欠拟合和过拟合,这两种情况分别如何解决
  • 腾讯 25 届秋招算法工程师面经
  • MySQL 实验1:Windows 环境下 MySQL5.5 安装与配置
  • 开源黑科技!Fish Speech TTS模型完美支持8种语言
  • 算法知识点————数论和链表
  • NASA:ATLAS/ICESat-2 L3B 每日和每月网格极地海面高度异常 V003
  • Java类设计模式
  • Valhalla实现 使用Docker部署利用OSM(Mapbox)地图实现路径规划详细步骤
  • blender解决缩放到某个距离就不能继续缩放
  • 2022浙江省赛G I M
  • 数据链路层 ——MAC
  • 在java中都是如何实现这些锁的?或者说都有哪些具体的结构实现
  • 用CSS创造三角形案例
  • matlab-对比两张图片的Ycbcr分量的差值并形成直方图
  • Chromium 使用安全 DNS功能源码分析c++
  • 10.1 刷题
  • 车辆重识别(2021ICML改进的去噪扩散概率模型)论文阅读2024/9/29