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

springboot+vue分页

java项目

导包

        <!--springboot整合pagehelper--><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper-spring-boot-starter</artifactId><version>1.3.1</version></dependency>

前端

vue项目

<template><div><el-row><el-col :span="24"><!-- 数据部分(el-table) --><el-table :data="tableDate" border style="width: 100%"><el-table-column type="index" label="序号" width="80"> </el-table-column><el-table-column prop="time" label="时间" width="180"> </el-table-column><el-table-column prop="ip" label="IP" width="180"> </el-table-column><el-table-column prop="location" label="地区" width="180"> </el-table-column><el-table-column prop="browser" label="浏览器" width="180"> </el-table-column></el-table></el-col></el-row><el-row><el-col :span="6"><!-- 分页部分 --><el-paginationbackgroundlayout="total,sizes,prev, pager, next":total="total":page-sizes="[ 5, 10, 15]":page-size="pageSize":current-page="pageNum"@next-click="nextPage"@prev-click="prevPage"@size-change="sizeChange"@current-change="currentChange"></el-pagination></el-col></el-row></div>
</template><script>export default {data() {return {total: 10, //总条数pageSize: 10, //每页多少条pageNum: 1, //当前页,tableDate: [],};},methods: {//下一页nextPage(val) {this.pageNum = val;this.queryAllPcLoginLog();},//上一页prevPage(val) {this.pageNum = val;this.queryAllPcLoginLog();},//当每页条数改变时触发sizeChange(val) {this.pageNum = 1;this.pageSize = val;this.queryAllPcLoginLog();},//点击第几页时触发currentChange(val) {this.pageNum = val;this.queryAllPcLoginLog();},queryAllPcLoginLog() {let params = {};params.pageNum = this.pageNum;params.pageSize = this.pageSize;this.$axios.post("api/pcLoginLog/queryAllPcLoginLog", params).then((res) => {let pageDate = res.data.data;this.tableDate = pageDate.list;this.pageNum = pageDate.pageNum;this.pageSize = pageDate.pageSize;this.total = pageDate.total;});},},created() {this.queryAllPcLoginLog();},};
</script><style></style>

后端

实体类


import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@AllArgsConstructor
@NoArgsConstructor
public class PcLoginLog {
//对应数据库private Integer id;private String time;private String ip;private String location;private String browser;
}

实体类Vo

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;@Data
@AllArgsConstructor
@NoArgsConstructor
public class ParamData<T> {// 统一接收类private Integer pageNum;private Integer pageSize;private T data;
}

mapper层 方法

ResponseDate<?> queryAllPcLoginLog(ParamData<PcLoginLog> paramData);

Service层 实现

    @Overridepublic ResponseDate<?> queryAllPcLoginLog(ParamData<PcLoginLog> paramData) {PageHelper.startPage(paramData.getPageNum(),paramData.getPageSize());List<PcLoginLog> pcLoginLogs = pcLoginLogMapper.queryAllPcLoginLog();PageInfo pageInfo = new PageInfo(pcLoginLogs);return new ResponseDate<>().ok(pageInfo);}

上面的顺序不能乱

  • 第一步:PageHelper.startPage…
  • 第二步:调用查询方法
  • 第三步:PageInfo pageInfo…

Controller层

  @PostMapping("/queryAllPcLoginLog")public ResponseDate<?> queryAllPcLoginLog(@RequestBody ParamData<PcLoginLog> paramData) {return pcLoginLogService.queryAllPcLoginLog(paramData);}
http://www.lryc.cn/news/115550.html

相关文章:

  • 【linux】ssh 和adb connect区别
  • iPhone手机怎么恢复出厂设置(详解)
  • 灵活利用ChatAI,减轻工作任务—语言/翻译篇
  • 【肌电图信号分析】通道肌电图并查找收缩周期的数量、振幅、最大值和持续时间(Matlab代码实现)
  • python 定时器,如何进行周期性的函数运行、状态检查,百分比计算?
  • 无涯教程-Perl - fcntl函数
  • docker 命令解析
  • Map集合 实体类对象的相互转换
  • 用chatGPT从左右眼图片生成点云数据
  • dy六神参数记录分析(立秋篇)
  • 微信-jssdk使用
  • guava-retry使用笔记
  • P1226 【模板】快速幂 | 取余运算
  • 常用开源的弱口令检查审计工具
  • 云监控插件cloudmonitor安装保姆级教程
  • 借用和引用
  • WPF上位机9——Lambda和Linq
  • 从0到1搭建uniapp
  • 安全杂记 - Linux文本三剑客之awk
  • Android 开发者选项日志存储路径
  • jupyter lab build失败,提示需要安装版本>=12.0.0的nodejs但其实已从官网安装18.17.0版本 的解决方法
  • 【set】个人练习-Leetcode-817. Linked List Components
  • Linux IPIP隧道连通两个局域网
  • 华为QinQ技术的基本qinq和灵活qinq 2种配置案例
  • python爬虫1:基础知识
  • 【FAQ】安防监控视频EasyCVR平台分发的FLV视频流在VLC中无法播放
  • python爬虫2:requests库-原理
  • 纹理贴图和渲染
  • BLIP2
  • 陀螺玩具跨境电商亚马逊CPC认证