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

SpringBoot之分页查询的使用

背景

在这里插入图片描述

在业务中我们在前端总是需要展示数据,将后端得到的数据进行分页处理,通过pagehelper实现动态的分页查询,将查询页数和分页数通过前端发送到后端,后端使用pagehelper,底层是封装threadlocal得到页数和分页数并动态的拼接到sql中完成分页的查询

代码

菜品的分页查询展示
前端传递对象

@Data
public class DishPageQueryDTO implements Serializable {private int page;private int pageSize;private String name;//分类idprivate Integer categoryId;//状态 0表示禁用 1表示启用private Integer status;}

controller层

/*** 菜品分页查询** @param dishPageQueryDTO* @return*/@GetMapping("/page")@ApiOperation("菜品分页查询")public Result<PageResult> page(DishPageQueryDTO dishPageQueryDTO) {PageResult pageResult = dishService.pageQuery(dishPageQueryDTO);return Result.success(pageResult);}

service层

PageResult pageQuery(DishPageQueryDTO dishPageQueryDTO);
public PageResult pageQuery(DishPageQueryDTO dishPageQueryDTO) {PageHelper.startPage(dishPageQueryDTO.getPage(), dishPageQueryDTO.getPageSize());Page<DishVO> page = dishMapper.pageQuery(dishPageQueryDTO);return new PageResult(page.getTotal(), page.getResult());}

将封装好的需要查询的页面和页面大小传给PageHelper,由它为我们动态的拼接到SQL语句中实现分页查询的效果
Mapper层

Page<DishVO> pageQuery(DishPageQueryDTO dishPageQueryDTO);
 <select id="pageQuery" resultType="com.sky.vo.DishVO">select d.* , c.name as categoryName from dish d left outer join category c on d.category_id = c.id<where><if test="name != null">and d.name like concat('%',#{name},'%')</if><if test="categoryId != null">and d.category_id = #{categoryId}</if><if test="status != null">and d.status = #{status}</if></where>order by d.create_time desc</select>
http://www.lryc.cn/news/288607.html

相关文章:

  • 【shell-10】shell实现的各种kafka脚本
  • 【模型压缩】模型剪枝详解
  • Log4j2-01-log4j2 hello world 入门使用
  • Mysql-日志介绍 日志配置
  • 计算机网络的体系结构的各层在整个过程中起到什么作用?
  • 如何在业务代码中优雅的使用策略模式?
  • “docker-credential-desktop.exe“: executable file not found in $PATH 错误解决
  • openssl3.2/test/certs - 055 - all DNS-like CNs allowed by CA1, no DNS SANs
  • 长虹智能电视6000iD、6080iD、3000iD、U2系列等 ZLM61HiPJ机芯升级刷机方法,附刷机数据
  • 六、VTK创建平面vtkPlaneSource
  • LiveGBS流媒体平台GB/T28181常见问题-如何配置使用自己已有的redis服务替换redis版本升级redis版本
  • stm32产品架构
  • 数据结构——双链表
  • Git 对文件名大小写不敏感的问题解决方案
  • Java复习系列之阶段三:框架原理
  • 【Python】01快速上手爬虫案例一:搞定豆瓣读书
  • JavaEE 网络编程
  • 5.rk3588用cv读取图片(C++)
  • Github 无法正常访问?一招解决
  • 架构师的36项修炼-08系统的安全架构设计
  • docker 构建应用
  • Go语言grpc服务开发——Protocol Buffer
  • 【开源】基于JAVA语言的实验室耗材管理系统
  • 金智易表通构建学生缴费数据查询+帆软构建缴费大数据报表并整合到微服务
  • MySQL复合索引
  • Web3 游戏开发者的数据分析指南
  • temu跨境电商怎么样?做temu蓝海项目有哪些优势?
  • C#使用RabbitMQ-1_Docker部署并在c#中实现简单模式消息代理
  • EasyExcel中自定义拦截器的运用
  • shell编程-7