若依分页问题及解决方法

前端参数

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 }

相关推荐
golang学习记1 小时前
Cursor官方团队的AI指南:Cursor Team Kit
前端·cursor
Lee川1 小时前
RAG 知识库问答:从概念到代码的完整实现
前端·人工智能·后端
呃呃本1 小时前
算法题(栈)
算法
通信小呆呆1 小时前
基于 ADMM-MFOCUSS 的捷变频雷达扩展目标稀疏重构原理
算法·重构·信息与通信·信号处理·雷达
largecode2 小时前
如何让电话显示店名?来电显示店铺名称,提升有效接通率
java·开发语言·spring·百度·学习方法·业界资讯·twitter
xuhaoyu_cpp_java2 小时前
SpringMVC学习(五)
java·开发语言·经验分享·笔记·学习·spring
橙淮2 小时前
Java数组与链表:特性对比与应用场景
数据结构·算法
炽烈小老头2 小时前
【每天学习一点算法 2026/05/15】被围绕的区域
学习·算法·深度优先
芜湖xin2 小时前
【题解-洛谷】P1012 [NOIP 1998 提高组] 拼数
算法·贪心