Springboot结合Vue实现分页功能

前端:

javascript 复制代码
<el-pagination
      @size-change="handleSizeChange"
      @current-change="handleCurrentChange"
      :current-page="pageNum"
      :page-sizes="[10, 50, 100]"
      :page-size="pageSize"
      layout="total, sizes, prev, pager, next, jumper"
      :total="total">
</el-pagination>
javascript 复制代码
data(){
   return{
	total: 0,
	pageNum: 1, //初始页
	pageSize: 50, //    每页的数据
	}
}
javascript 复制代码
methods:{
    handleSizeChange: function (size) {
      this.pageSize= size;
      this.init();
    },
    handleCurrentChange: function (currentPage) {
      this.pageNum= currentPage;
      this.init();
    },
   init() {
  var params = new URLSearchParams();
      params.append("pageNum",this.currentPage);
      params.append("pageSize",this.pagesize);
      ...
      this.$axios
        .post(this.$api.getDataList, params)
        .then((res) => {
          if (res.code == 200) {
            this.tableData = res.data.list;
            this.total=res.data.total;
          } else if (res.code == 400) {
            this.$notify({
              title: "警告",
              message: res.msg,
              type: "warning",
            });
          } else {
            this.tableData = [];
          }
        })
        .catch((err) => {
          this.$notify.error({
            title: "错误",
            message: "出现系统错误,请联系管理员",
          });
          console.log(err);
        });
    },
}

后端:

pom文件添加依赖:

java 复制代码
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.4.7</version>
 </dependency>
java 复制代码
public Result getDataList(DataDto dataDto,Integer pageNum,Integer pageSize) {
        Result r = new Result();
        try {

            PageHelper.startPage(pageNum, pageSize);
            List<DataDto> dataList= dataDao.getDataList(dataDto);
            PageInfo<DataDto> pageInfo = new PageInfo<>(dataList);
            Integer total= Math.toIntExact(pageInfo.getTotal());
            List<DataDto> list=pageInfo.getList();
            if (list.size()> 0) {
                r.setCode(200);
                r.setMsg("查询成功");
                Map<String,Object> map=new HashMap<>();
                map.put("list",list);
                map.put("total",total);
                r.setData(map);
            } else {
                r.setCode(300);
                r.setMsg("暂无数据");
            }
        } catch (Exception e) {
            e.printStackTrace();
            r.setCode(400);
            r.setMsg("查询数据出现异常,请联系管理员");
        }
        return r;
}
相关推荐
明月_清风20 分钟前
FastAPI 从入门到实战:3 分钟构建高性能异步 API
后端·python·fastapi
小村儿21 分钟前
连载10-Sub-agents 深度解析:从源码理解 Claude Code 的分身术
前端·后端·ai编程
他们叫我阿冠22 分钟前
Day5学习--SpringBoot详解
spring boot·后端·学习
枕星而眠1 小时前
Linux 四大进程/线程同步锁详解:互斥锁、读写锁、条件变量、文件锁
linux·c语言·后端·ubuntu·学习方法
IT_陈寒1 小时前
Vite动态导入把我坑惨了,原来要这样用才对
前端·人工智能·后端
独泪了无痕1 小时前
CryptoJS:数据安全的JavaScript加密利器
前端·vue.js·node.js
vx-程序开发2 小时前
基于机器学习的动漫可视化系统的设计与实现-计算机毕业设计源码08339
java·c++·spring boot·python·spring·django·php
计算机魔术师3 小时前
【AI面试八股文 Vol.3.4:训练微调部署选型】从预训练到量化部署:LLM 工程落地如何做模型选择
人工智能·后端·面试·架构·moe·vol.3.3·vol.3.4
明月_清风3 小时前
从零到一构建生产级 AI Agent:架构拆解 × Python 高并发实战 × 技术选型方法论
后端·agent
金銀銅鐵4 小时前
[Java] 如何理解 class 文件中字段的 access flags?
java·后端