PageHelper 为什么我的PageSize传的数字是几 然后for循环就循环即便 在线等

    @Override
    public PageInfo<FleetData> selectMarkAndSelfIdOne(CommonQo commonQo) {
       //我这里PageSize要是传5
        PageHelper.startPage(commonQo.getPageNum(),commonQo.getPageSize());

        List<FleetData> fleetData = fleetDataMapper.selectMarkAndSelfIdOne();
        //debug断点
        PageInfo<FleetData> pageInfo = new PageInfo<>(fleetData);

        List<FleetData> fleetDataList = new ArrayList<>();
        System.out.println(fleetData.size());
        //for循环就循环5
        for (FleetData fleetData2: fleetData) {
            Long userId= fleetData2.getId();//获得用户id
            //System.out.println("用户id======="+ userId );
            List<FleetBill> fleetBills = fleetBillMapper.selectBySelfId(userId);
            if (fleetBills.size()>0){
                for (FleetBill fleet:fleetBills) {
                    Long userId1= fleet.getFleetId();//获得用户id
                    //System.out.println("客户id======="+ userId1 );
                }
            }
            else {
                fleetDataList.add(fleetData2);
            }
        }
//        PageInfo<FleetData> page= new PageInfo<>(fleetDataList);
//        BeanUtils.copyProperties(pageInfo,page);
        pageInfo.setList(fleetDataList);
        return pageInfo;
    }
你可以这里不分页,把全部查询出来,得到最后list再分页
//PageHelper.startPage(commonQo.getPageNum(),commonQo.getPageSize());
List<FleetData> fleetData = fleetDataMapper.selectMarkAndSelfIdOne();

 

 

当然了啊,查询出来的条数就是pageSize控制的

pageSize是控制当前页显示的条数。你传的是5,那么查询出来的记录就是5条。

PageHelper 是一个分页插件。需要传入参数,pageNum,pageSize
如果你传入的参数分别是10,5,表示第10页,每页5条数据。
那么 fleetDataMapper.selectMarkAndSelfIdOne();的sql 末尾会默认加上limit 50,5,也就是查询结果最多返回5条数据。
//未分页
select * from marker
//分页后
select * from marker limit 50,5

 

现在是分页的是这个里面的数据 :
 List<FleetData> fleetData = fleetDataMapper.selectMarkAndSelfIdOne();

但是我需要分页这个list中的

 List<FleetData> fleetDataList = new ArrayList<>();

应为我下面需要做判断 取出我需要的东西存放都这个list中 然后在做分页 现在的问题是我取出来的total不对

 

 

你是不是没有弄清这个分页啊。建议先了解一下真假分页。你理解的是全部查询出来,java做处理取数据;实际是sql直接查询你需要的数据,没有查询全部。

谢谢各位大佬 解决了  我需要的是把所有的东西查出来之后进行处理再去分页 可是他提前做了分页 最后导致total总是不正确

https://www.cnblogs.com/cuijinlong/p/12786815.html

所有的处理完之后直接对list进行分页

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632