springboot实现分页

Posted 整理是一切的开始

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot实现分页相关的知识,希望对你有一定的参考价值。

这里项目是springboot,mybatis,thymeleaf,实现我自制的商城项目后台页面的分页功能。
参考我之前总结的分页,简单的处理一下就可以了
上代码
首先写一个超链接跳转到controller层的方法

<a href="/demo/page" target="iframe">商品管理</a>

然后写后台controller层代码

/**
 * 后台商品页面分页
 */
@RequestMapping("/page")
    public String page(String pageNumber,Model model){
    String spPage=pageNumber;
    //设置每页条数
    int pageSize=5;
    //页数
    int pageNo=0;
    if(spPage==null){
    pageNo=1;
    }else {
        pageNo = Integer.valueOf(spPage);
        if (pageNo < 1) {
            pageNo = 1;
        }
    }
    //设置最大页数
    int totalCount=0;
    int count=selectService.getCount(phone);
    if(count>0){
        totalCount=count;
    }
    int maxPage=totalCount%pageSize==0?totalCount/pageSize:totalCount/pageSize+1;
    if(pageNo>maxPage){
        pageNo=maxPage;
    }
    tempPageNo=(pageNo-1)*pageSize;
            //计算总数量
        //分页查询
        Map map=new HashMap();
        map.put("pageNo",tempPageNo);
        map.put("pageSize",pageSize);
        map.put("phone",phone);
        List<Map> list=selectService.pageList(map);
        //最后把信息放入model转发到页面把信息带过去
        model.addAttribute("list",list);
        model.addAttribute("pageNo",pageNo);
        model.addAttribute("totalCount",totalCount);
        model.addAttribute("maxPage",maxPage);
        return "back/shangpin";
}

Mapper层的代码

 /**
     * 商品查询总条数
     */
    @Select(value = "select count(*) as cou from shangpin group by sellerAccount having sellerAccount>=1 and sellerAccount=#{phone};")
    int getCount(String phone);
    /**
     * 商品分页查询
     */
    @Select(value = "select * from shangpin where sellerAccount=#{phone} limit #{pageNo},#{pageSize}")
    List<Map> pageList(Map map);

需要注意的是,使用的是thymeleaf,则在最后把信息放入的容器只能是model。最后把所有的信息都转发到商品管理页面。

商品管理html页面简单写一下,其他没关系的都省略了,只干挑头的。

<a th:href="@{/demo/page?pageNumber=1}">首页</a>
        <a th:href="@{'/demo/page?pageNumber='+${pageNo-1}}">上一页</a>
        <a th:href="@{'/demo/page?pageNumber='+${pageNo+1}}">下一页</a>
        <a th:href="@{'/demo/page?pageNumber='+${maxPage}}">尾页</a>

然后分页就完成了
技术图片
但是上面的只是一个页面,如果是多个页面的话,代码就会重复,因此我想找时间再把上面的分页封装起来,以后使用时可以直接调用即可,哈哈。有问题可以留言,谢谢!

以上是关于springboot实现分页的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot系列之MongoTemplate加PageHelper分页实现

SpringBoot系列之MongoDB分页接口实现

SpringBoot系列之MongoDB分页接口实现

基于springboot+thymeleaf+springDataJpa自带的分页插件实现完整的动态分页

SpringBoot整合ElasticSearch实现模糊查询,批量CRUD,排序,分页,高亮

springboot使用Mybatis分页插件