若依分页问题及解决方法

前端参数

const queryParams = reactive({

批号: null,

pageNum: 1,

pageSize: 10

})

前端接口

export function getLlist(params) {

return request({

url: '/bianmu/cataloging/literature/' ,

method: 'Post',

data: params,

})

}

后端控制器

public TableDataInfo getList(@RequestBody Map<String, Object> params) {

复制代码
        //startPage();Service 类上的 @Transactional 注解导致 PageHelper 分页拦截器失效。
在事务环境下,PageHelper 的 ThreadLocal 变量可能会被事务管理器清理或干扰,导致分页参数丢失。
        // 手动获取分页参数
        Integer pageNum = params.get("pageNum") != null ? Integer.parseInt(params.get("pageNum").toString()) : 1;
        Integer pageSize = params.get("pageSize") != null ? Integer.parseInt(params.get("pageSize").toString()) : 10;
        Integer 批号 = params.get("批号") != null ? Integer.parseInt(params.get("批号").toString()) : 0;
        
        // 查询所有数据
        List<Map<String, Object>> allList = catalogingService.getLiteratureByPiHao(批号);
        
        // 手动分页
        int total = allList.size();
        int startIndex = (pageNum - 1) * pageSize;
        int endIndex = Math.min(startIndex + pageSize, total);
        
        List<Map<String, Object>> pageList = new ArrayList<>();
        if (startIndex < total) {
            pageList = allList.subList(startIndex, endIndex);
        }
        
        // 构建返回结果
        TableDataInfo rspData = new TableDataInfo();
        rspData.setCode(HttpStatus.SUCCESS);
        rspData.setMsg("查询成功");
        rspData.setRows(pageList);
        rspData.setTotal(total);
        
        return rspData;
    }

若依框架分页流程

前端 queryParams 对象

URL: /List?批号=2026009&pageNum=1&pageSize=10

后端 Spring MVC 自动将 URL 参数绑定到 对象

startPage() 自动从 URL 参数中读取 pageNum=1, pageSize=10

PageHelper 拦截下一个 SQL 查询,添加分页

返回分页结果 { rows: ..., total: 17 }

相关推荐
SL_staff15 小时前
3天上线OKR系统:一名HR与1名工程师如何用JVS完成全栈交付
java·低代码·开源
三十而立洋15 小时前
深入理解 Monorepo:子包安装依赖
前端·前端工程化
IT_陈寒15 小时前
Java Stream处理大集合,我的内存怎么就炸了
前端·人工智能·后端
Captaincc15 小时前
AI 用量桌面端-桌面宠物自定义指南
前端·人工智能
a1879272183115 小时前
【算法】双指针与滑动窗口(二):滑动窗口——吃进、判定、吐出
算法·leetcode·双指针·滑动窗口·原理·模板·算法讲解
铭哥的编程日记15 小时前
从一道 LeetCode Hard 到吃透一类题:加权区间调度「排序 + 二分 + DP」
算法·leetcode·职场和发展
Navigator_Z16 小时前
LeetCode //C - 1248. Count Number of Nice Subarrays
c语言·算法·leetcode
OpenTiny社区16 小时前
码力全开,智启前端新生态|OpenTiny 登陆华为全联接大会2026
前端·github
妙码生花16 小时前
利用AI从零学Go并完成实战项目,完工总结:目录结构
前端·后端·go
妙码生花16 小时前
利用AI从零学Go并完成实战项目,完工总结:商业级开源产品定位和核心特性介绍
前端·后端·go