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

PageHelper组件 实现前端分页查询功能

Hi~!这里是一颗小谷粒,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~~
💥💥个人主页:一颗小谷粒
💥💥所属专栏:Web前端开发

💥💥博主微信:g2279605572  

🚀本系列文章为个人学习笔记,在这里撰写成文一为巩固知识,二为记录我的学习过程及理解。文笔、排版拙劣,望见谅。    

目录

一、后端引入PageHelper插件

1.1 在 pom.xml 文件中添加依赖

1.2 在 application.yml 文件配置    

1.3 在Service层调用

二、前端使用分页组件 

2.1 使用ElementUI分页组件 

2.2 前端分页代码解析

 2.3 我的源码


一、后端引入PageHelper插件

1.1 在 pom.xml 文件中添加依赖

        <!-- pagehelper依赖 --><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.2.5</version></dependency>

如图所示:

1.2 在 application.yml 文件配置    

开启spring循环依赖支持,注意是在spring级配置: 

  main:allow-circular-references: true #开始支持spring循环依赖

如图所示: 

1.3 在Service层调用

    public PageInfo<Admin> admins(Admin admin){PageHelper.startPage(admin.getPageNo(), admin.getPageSize()); //1.会自动算出limit后面的开始位置List<Admin> admins =  adminDao.admins(admin);                 //2.重新发一条sql,查询总条数PageInfo<Admin> pageInfo = new PageInfo<>(admins);return pageInfo;}

如图所示: 

二、前端使用分页组件 

2.1 使用ElementUI分页组件 

完整功能分页组件代码:

    <el-pagination@size-change="handleSizeChange"@current-change="handleCurrentChange":current-page="currentPage4":page-sizes="[100, 200, 300, 400]":page-size="100"layout="total, sizes, prev, pager, next, jumper":total="400"></el-pagination>methods: {handleSizeChange(val) {console.log(`每页 ${val} 条`);},handleCurrentChange(val) {console.log(`当前页: ${val}`);}}

前端分页组件完成的工作:

  1. 可以根据总条数和每页显示的条数,计算出总页数。
  2. 通过组件显示分页的样式。
  3. 通过组件可以改变当前页数和页数大小。

2.2 前端分页代码解析

 2.3 我的源码

<template><div><div style="color: #2c9678"><h2>管理员管理</h2></div><br /><hr /><br /><el-card class="box-card"><!-- 查询条件--><el-row :gutter="20"><el-col :span="6"><el-input placeholder="请输入账号" v-model="form.account"></el-input></el-col><el-col :span="6"><el-radio label="男" v-model="form.gender">男</el-radio><el-radio label="女" v-model="form.gender">女</el-radio></el-col><el-col :span="6"><el-button type="primary" icon="el-icon-search" @click="search()">查询</el-button></el-col></el-row><br /><el-button type="primary" icon="el-icon-plus">新增</el-button><el-table :data="tableData" border style="width: 100%"><el-table-column prop="account" label="账号" width="100"></el-table-column><el-table-column prop="gender" label="性别" width="100"></el-table-column><el-table-column prop="phone" label="电话" width="150"></el-table-column><el-table-column prop="admin.account" label="操作人"></el-table-column><el-table-column prop="operTime" label="操作时间" align="center"></el-table-column><el-table-column label="操作" fixed="right"><template slot-scope="scope"><el-button size="mini">编辑</el-button><el-button size="mini" type="danger">删除</el-button></template></el-table-column></el-table><el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange":current-page="form.pageNo" :page-sizes="[2, 4, 6, 10]" :page-size="2"layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination></el-card></div>
</template><script>export default {data() {return {tableData: [],total:0,form: {account: "",gender: "",pageNo: 1,pageSize: 2}}},methods: {search() {this.admins();},admins() {this.$http.post("adminCtl/admins", this.form).then((resp) => {this.tableData = resp.data.result.list;this.total = resp.data.result.total;})},handleSizeChange(val) { //当改变下拉框页数大小时触发this.form.pageSize = val;this.form.pageNo = 1;this.admins();},handleCurrentChange(val) { //当改变当前页数时触发this.form.pageNo = val;this.admins();}},mounted() {//向后端发送请求,查询管理员信息列表this.admins();}}
</script><style>
</style>

 效果: 




本次的分享就到此为止了,希望我的分享能给您带来帮助,创作不易也欢迎大家三连支持,你们的点赞就是博主更新最大的动力!如有不同意见,欢迎评论区积极讨论交流,让我们一起学习进步!有相关问题也可以私信博主,评论区和私信都会认真查看的,我们下次再见 

相关文章:

PageHelper组件 实现前端分页查询功能

Hi~&#xff01;这里是一颗小谷粒&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~&#x1f4a5;&#x1f4a5;个人主页&#xff1a;一颗小谷粒&#x1f4a5;&#x1f4a5;所属专栏&#xff1a;Web前端开发 &#x1f4a5;&#x1f4a5;博主…...

线性回归与逻辑回归在模型参数优化上的比较

概述 线性回归和逻辑回归是两种基础且广泛应用的预测模型。尽管它们在很多方面有相似之处&#xff0c;如都使用梯度下降算法来优化模型参数&#xff0c;但在优化目标和方法上存在一些关键差异。本文将探讨这两种模型在参数优化上的差异&#xff0c;并提供相应的代码示例。 线…...

JavaWeb JavaScript 10.日程管理 第一期

自我消耗&#xff0c;敏感是我&#xff0c; 明媚是我&#xff0c; 我横跳在不同的情绪中 —— 24.8.31 一、登录页及校验 1.校验账号格式 // 校验账号格式function checkUsername(){// 定义正则表达式表示字符串规则var usernameReg /^[a-zA-Z0-9]{5,10}$/;// 获取用户名输入…...

redis为什么快

春内存访问&#xff0c;相比数据库访问磁盘要快单线程&#xff0c;避免上下文切换带来的cpu开销渐进式Rehash。减少阻塞网络模型多路复用&#xff0c;reactor模型 常用基本数据类型 5个基本数据类型2个高级数据结构&#xff08;bitmaps、hyperlog&#xff09; redis高级功能…...

十分钟学会Kubernetes(K8S) 部署SpringBoot3.0

1、十分钟学会Kubernetes(K8S) 部署SpringBoot3.0 本课程以 Java 后端开发的视角&#xff0c;带着大家从零基础入门 k8s 实战&#xff0c;掌握企业级容器化管理平台的各种实战应用&#xff0c;以及 Prometheus 监控告警、ELK 日志收集、DevOps 等众多实战课程内容&#xff0c;大…...

顺序表的插入与删除

一.插入&#xff1a;插入前先移动后面的元素 1.图解&#xff1a; 在b和d之间插入c&#xff0c;此时就需要把d&#xff0c;e&#xff0c;f都向后移一位&#xff0c;腾出一个位置后插入c。 2.代码实现&#xff1a; #include<stdio.h> #define MaxSize 10 //定义最大长度…...

FFMPEG -- 音频开发

1&#xff1a;前言 在进行音频开发之前需要先知道一些基础知识&#xff0c;一些有必要的指导的概念。 1.1 声音的产生、获取和转换 声音的产生的本质是靠震动&#xff0c;声音的传播需要借助媒介&#xff0c;比如空气、液体、固体等媒介。在自然界中声音的可视化为音波的形式&…...

lxml官方入门教程(The lxml.etree Tutorial)翻译

lxml官方入门教程&#xff08;The lxml.etree Tutorial&#xff09;翻译 说明&#xff1a; 首次发表日期&#xff1a;2024-09-05官方教程链接&#xff1a; https://lxml.de/tutorial.html使用KIMI和豆包机翻水平有限&#xff0c;如有错误请不吝指出 这是一个关于使用lxml.et…...

string详解

Golang详解string 文章目录 Golang详解stringGolang中为什么string是只读的&#xff1f;stirng和[]byte的转化原理[]byte转string一定需要内存拷贝吗&#xff1f;字符串拼接性能测试 Golang中为什么string是只读的&#xff1f; 在Go语言中&#xff0c;string其实就是一个结构体…...

基于约束大于规范的想法,封装缓存组件

架构&#xff1f;何谓架构&#xff1f;好像并没有一个准确的概念。以前我觉得架构就是搭出一套完美的框架&#xff0c;可以让其他开发人员减少不必要的代码开发量&#xff1b;可以完美地实现高内聚低耦合的准则;可以尽可能地实现用最少的硬件资源&#xff0c;实现最高的程序效率…...

自动化测试面试真题(附答案)

一、编程语法题 1 、 python 有哪些数据类型 python 数据类型有很多&#xff0c;基本数据类型有整型&#xff08;数字&#xff09;、字符串、元组、列表、字典和布尔类型等 2 、怎么将两个字典合并 调用字典的 update 方法&#xff0c;合并 2 个字典。 3 、 json.l python …...

云原生架构概念

云原生架构概念 云原生架构&#xff08;Cloud Native Architechtrue&#xff09;作为一种现代软件开发的革新力量&#xff0c;正在逐渐改变企业构建、部署和管理应用程序的方式。它的核心优势在于支持微服务架构&#xff0c;使得应用程序能够分解为独立、松耦合的服务&#xf…...

85、 探针

一、pod的进阶 pod的进阶&#xff1a; 1.1、pod的生命周期当中的状态&#xff1a; 1、Running运行中&#xff0c;pod已经分配到节点上且pod内的容器正常运行。正常状态&#xff08;ready 1/1&#xff09;。 2、complete&#xff1a;完成之后退出&#xff0c;容器内的返回码…...

2024全国大学省数学建模竞赛A题-原创参考论文(部分+第一问代码)

一问题重述 1.1 问题背景 "板凳龙"&#xff0c;又称"盘龙"&#xff0c;是浙闽地区的传统地方民俗文化活动。这种独特的表演艺术形式融合了中国传统龙舞的精髓和地方特色&#xff0c;展现了人们对美好生活的向往和对传统文化的传承。 在板凳龙表演中&am…...

在VScode上写网页(html)

一、首先点进VScode&#xff0c;下载3个插件。 VScode安装&#xff1a;VScode 教程 | 菜鸟教程 二、新建 HTML 文件 作者运行的代码来自&#xff1a;http://t.csdnimg.cn/vIAQi 把代码复制粘贴进去&#xff0c;然后点击文件→另存为→选择html格式。 三、运行代码...

C#中LINQ的Cast<T>与OfType<T>

在C#中&#xff0c;Cast() 方法是LINQ&#xff08;Language Integrated Query&#xff09;的一部分&#xff0c;它位于 System.Linq 命名空间中。这个方法用于将 IEnumerable 集合&#xff08;或任何实现了 IEnumerable 接口的集合&#xff09;的元素转换为指定类型 T 的集合。…...

小阿轩yx-Kubernertes日志收集

小阿轩yx-Kubernertes日志收集 前言 在 Kubernetes 集群中如何通过不同的技术栈收集容器的日志&#xff0c;包括程序直接输出到控制台日志、自定义文件日志等 有哪些日志需要收集 日志收集与分析很重要&#xff0c;为了更加方便的处理异常 简单总结一些比较重要的需要收集…...

0to1使用Redis实现“登录验证”次数限制

1 引言 系统为了避免密码遭到暴力破解&#xff0c;通常情况下需要在登录时&#xff0c;限制用户验证账号密码的次数&#xff0c;当达到一定的验证次数后&#xff0c;在一段时间内锁定该账号&#xff0c;不再验证。本章将用几行代码实现该功能&#xff0c;完整代码链接在文章最…...

ARM----时钟

时钟频率可以是由晶振提供的&#xff0c;我们需要高频率&#xff0c;但是外部接高的晶振会不稳定&#xff0c;所有使用PLL&#xff08;锁相环&#xff09;来放大频率。接下来就让我们学习用外部晶振提供的频率来配置时钟频率。 一.时钟源的选择 在这里我们选择外部晶振作为时钟…...

NISP 一级 —— 考证笔记合集

该笔记为导航目录&#xff0c;在接下来一段事件内&#xff0c;我会每天发布我关于考取该证书的相关笔记。 当更新完成后&#xff0c;此条注释会被删除。 第一章 信息安全概述 1.1 信息与信息安全1.2 信息安全威胁1.3 信息安全发展阶段与形式1.4 信息安全保障1.5 信息系统安全保…...

程序实现仪器故障时,自动保存当前数据,方便维修时分析故障原因。

一、实际应用场景描述在某高校《智能仪器》实验中&#xff0c;使用一台高精度温度采集仪&#xff1a;- 仪器长期运行&#xff08;24h 连续采样&#xff09;- 偶发异常&#xff1a;- 传感器断线- ADC 超限- 通信超时- 一旦故障&#xff1a;- 当前采样数据丢失- 维修人员只能“凭…...

潮玩盲盒小程序开发踩坑?这些解法要记住

潮玩盲盒小程序开发踩坑&#xff1f;这些解法要记住✅ 哈喽&#xff5e;做潮玩盲盒小程序开发&#xff0c;很多伙伴都会踩坑&#xff01;今天整理了高频开发痛点对应应对方法&#xff0c;新手也能避坑&#x1f447; &#x1f3ae; 开发痛点应对方案&#xff08;一痛一解&#x…...

Lux测试框架完整指南:如何编写高效的数据可视化测试用例

Lux测试框架完整指南&#xff1a;如何编写高效的数据可视化测试用例 【免费下载链接】lux Automatically visualize your pandas dataframe via a single print! &#x1f4ca; &#x1f4a1; 项目地址: https://gitcode.com/gh_mirrors/lux/lux Lux是一个强大的Python数…...

InfluxDB(一)——一个高效处理数据的时序数据库

目录 一、什么是时序数据库InfluxDB&#xff1f; 关系型数据库&#xff08;行式存储&#xff09;是怎么存的&#xff1f; 时序数据库&#xff08;列式存储&#xff09;是怎么存的&#xff1f; 二、InfluxDB的特点 1. 极致的写入性能 2. 高效的存储压缩 3. 独特的数据模型…...

单片机与手机远距离通信技术方案全解析

1. 单片机与手机远距离通信的技术方案解析在物联网和智能硬件开发领域&#xff0c;单片机与手机的远程通信是一个基础但至关重要的技术需求。作为一名嵌入式开发工程师&#xff0c;我参与过多个需要远程通信的智能硬件项目&#xff0c;从智能家居设备到工业监测终端&#xff0c…...

结构化编程

结构化编程&#xff1a;原理、UML建模与工程实践 1. 结构化编程概述 结构化编程&#xff08;Structured Programming&#xff09;是一种编程范式&#xff0c;其核心思想是使用有限的控制结构&#xff08;顺序、选择、循环&#xff09;和子程序&#xff08;函数/过程&#xff09…...

Go HTTP 客户端连接池管理

Go HTTP 客户端连接池管理&#xff1a;提升性能的关键实践 在现代Web开发中&#xff0c;高效的HTTP客户端是微服务通信和API调用的核心组件。Go语言凭借其简洁的并发模型和原生HTTP库&#xff0c;成为构建高性能服务的首选。默认的HTTP客户端若不加以优化&#xff0c;频繁创建…...

seo推广外包需要多少投入_seo推广外包如何避免被算法惩罚

SEO推广外包需要多少投入_SEO推广外包如何避免被算法惩罚 在当今数字化经济时代&#xff0c;SEO&#xff08;搜索引擎优化&#xff09;推广已经成为企业提升网站流量和品牌知名度的重要手段。随着搜索引擎算法的不断更新&#xff0c;企业在进行SEO推广外包时&#xff0c;不仅需…...

ESP8266原生HomeKit接入:零桥接HAP协议实现

1. 项目概述HomeKit-ESP8266 是一个面向 ESP8266 Arduino Core 的原生 Apple HomeKit 配件实现库。它不依赖任何桥接设备&#xff08;如 HomePod、Apple TV 或 Mac&#xff09;&#xff0c;可直接作为独立的 HomeKit 配件接入 iOS/macOS 的“家庭”App。该库并非基于 Apple 官方…...

基于Simulink的LQR控制四轮转向系统设计与仿真研究

四轮转向 LQR控制 Simulink&#xff08;个人&#xff09; 所有算法基于Simulink开发&#xff0c;carsim联合仿真 以期望横摆角速度&#xff0c;零质心侧偏角为状态量&#xff0c;后轮转角为输入&#xff0c;进行离线全速域LQR控制&#xff0c;实现四轮转向&#xff0c;不考虑干…...