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

【分页】Spring Boot 列表分页 + javaScript前台展示

后端:

准备好查询实体与分页实体

1、分页工具实体

package com.ruoyi.dms.config;import com.alibaba.nacos.api.model.v2.Result;
import lombok.Data;import java.io.Serializable;
import java.util.List;/*** @author 宁兴星* @description: 列表返回结果集*/
@Data
public class PageResult<T> implements Serializable {/*** 总条数*/private long total;/*** 结果集合*/private List<T> list;public PageResult() {}public PageResult(long total, List<T> list) {this.total = total;this.list = list;}public static <T> PageResult<T> toPageResult(long total, List<T> list){return new PageResult(total , list);}public static <T> Result<PageResult<T>> toResult(long total, List<T> list){return Result.success(PageResult.toPageResult(total,list));}
}

2、列表请求对象实体:

package com.ruoyi.dms.domain.req;import lombok.Data;/*** @author: 宁兴星* Date: 2024/9/28 10:29* Description:*/
@Data
public class EquipmentCategoryRequest {/*** 设备类目名称*/private String equipmentCategoryName;/*** 是否启用*/private Integer status;/*** 分页参数*/private Integer pageNum;/*** 每页条数*/private Integer pageSize;
}

Controller

 /*** 设备类目管理列表*/@GetMapping("/ec/list")public R<PageResult<EquipmentCategoryVo>> list(EquipmentCategoryRequest request){PageResult<EquipmentCategoryVo> list = ecService.list(request);return R.ok(list);}

Service

 PageResult<EquipmentCategoryVo> list(EquipmentCategoryRequest request);

ServiceImpl

 @Overridepublic PageResult<EquipmentCategoryVo> list(EquipmentCategoryRequest request) {// 分页PageHelper.startPage(request.getPageNum(), request.getPageSize());// 查询List<EquipmentCategoryVo> list = ecMapper.list(request);// 封装分页信息PageInfo<EquipmentCategoryVo> pageInfo = new PageInfo<EquipmentCategoryVo>(list);// 返回分页结果return PageResult.toPageResult(pageInfo.getTotal(), pageInfo.getList());}

Mapper

List<EquipmentCategoryVo> list(@Param("request") EquipmentCategoryRequest request);

前端:

前端使用实现分页vue2()

链接: 饿了么UI

1、api/xxx/xxx.js 中

export function esList(equipmentCategoryRequest) {return request({url: '/dms/ec/list' ,method: 'get',params: equipmentCategoryRequest,})
}

2、view/xxx/xxx.vue 中

<template><div><label for="category-name" style="margin-left: 20px">类目名称:</label><el-inputid="category-name"type="text"placeholder="请输入名称"v-model="searchForm.equipmentCategoryName"clearablestyle="width: 200px;margin-bottom: 20px;margin-right: 10px "/><label for="category-name">状态:</label><el-select v-model="searchForm.status" placeholder="请选择状态" style="width: 200px; margin-right: 10px" clearable><el-option label="停用" value="0"></el-option><el-option label="启用" value="1"></el-option></el-select>
<!--      搜索按钮--><el-button @click="esList"style="color: #1482f0"class="el-icon-search">搜索</el-button><div class="block" style="margin-top: 10%;text-align: center;"><el-pagination@size-change="handleSizeChange"@current-change="handleCurrentChange":current-page="searchForm.pageNum":page-sizes="[3, 5, 10, 30]":page-size="searchForm.pageSize"layout="total, sizes, prev, pager, next, jumper":total="total"></el-pagination></div></div>
</template>
........data() {return {searchForm: {pageNum: 1,pageSize: 3,},total: 0,}},methods: {//列表esList(){esList(this.searchForm).then(response => {this.equipmentCaTableData = response.data.list;this.total = response.data.total;})},handleSizeChange(val) {this.searchForm.pageSize = val;this.esList();},handleCurrentChange(val) {this.searchForm.pageNum = val;this.esList();},},

相关文章:

  • 程序员如何提升并保持核心竞争力?——深入钻研、广泛学习与软技能的培养
  • Grafana链接iframe嵌入Web前端一直跳登录页面的问题记录
  • python自动更新chromedriver
  • swiper+fixed的错误,splice函数的使用,提取年月日substring
  • [每日一练]利用自连接实现数量查询
  • MySQL | excel数据输出insert语句
  • 第167天:应急响应-日志自动提取分析项目_ELK_Logkit_LogonTracer_Anolog等
  • 力扣随机一题——所有元音按顺序排序的最长字符串
  • 数据驱动农业——助力作物增产
  • 新书推荐——《Python贝叶斯深度学习》
  • 基于php的民宿预订管理系统
  • 计算机视觉学习---图像增强
  • 图像处理基础知识点简记
  • 什么是区块链桥?
  • 理解Python闭包概念
  • 自己简单写的 事件订阅机制
  • __proto__ 和 prototype的关系
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • JavaScript类型识别
  • maya建模与骨骼动画快速实现人工鱼
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • PermissionScope Swift4 兼容问题
  • 代理模式
  • 爬虫模拟登陆 SegmentFault
  • 数组的操作
  • 中国人寿如何基于容器搭建金融PaaS云平台
  • ​IAR全面支持国科环宇AS32X系列RISC-V车规MCU
  • #includecmath
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (70min)字节暑假实习二面(已挂)
  • (Java入门)抽象类,接口,内部类
  • (Qt) 默认QtWidget应用包含什么?
  • (Redis使用系列) Springboot 实现Redis消息的订阅与分布 四
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (二十四)Flask之flask-session组件
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (四) Graphivz 颜色选择
  • (转)大型网站架构演变和知识体系
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .Net Core和.Net Standard直观理解
  • .NET 解决重复提交问题
  • .NET 自定义中间件 判断是否存在 AllowAnonymousAttribute 特性 来判断是否需要身份验证
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值
  • .NET开源全面方便的第三方登录组件集合 - MrHuo.OAuth
  • .Net下C#针对Excel开发控件汇总(ClosedXML,EPPlus,NPOI)
  • @hook扩展分析
  • [AIGC] HashMap的扩容与缩容:动态调整容量以提高性能
  • [AIGC] MySQL存储引擎详解
  • [Android] Binder 里的 Service 和 Interface 分别是什么
  • [AX]AX2012 AIF(四):文档服务应用实例
  • [CISCN2019 华北赛区 Day1 Web5]CyberPunk --不会编程的崽
  • [fsevents@^2.1.2] optional install error: Package require os(darwin) not compatible with your platfo