为了账号安全,请及时绑定邮箱和手机立即绑定

java仿百度假分页代码实现

标签:
Java

1 ,service 层代码实现

        Integer start = (pageNum - 1) * pageSize;
        Integer end = pageSize;
        List<entity> entityList;
        
        //调用mapper查询数据库
       entityList = entityPOMapper.query(start, end);

        SimplePageInfo simplePageInfo = SimplePageInfo.of(entityList );
        simplePageInfo.setNumber(pageNum);
        simplePageInfo.setPageSize(pageSize);

// 查询出来数据等于size,总数据量加一,页数加一
        if (entityList .size() == pageSize) {
            Integer totalElements = (pageNum * pageSize) + 1;
            Integer pages = pageNum + 1;
            simplePageInfo.setTotalElements(totalElements);
            simplePageInfo.setPages(pages);
        } else {
        //数据不够size
            Integer totalElements = ((pageNum - 1) * pageSize + entityList .size());
            Integer pages = pageNum;
            simplePageInfo.setTotalElements(totalElements);
            simplePageInfo.setPages(pages);
        }
        return simplePageInfo;
}

      
     

2,mapper

  <select .............>
        select..
        from ...
        where ...
        LIMIT #{start}, #{end}
    </select>

对于大表查询避免使用pageHelper,此插件 会进行count导致效率极低。可采用以上假分页。但是这种方式无法统计总数量以及页数,所以在不要求统计数量的场景下完全可以使用。

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
11
获赞与收藏
107

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消