如何使用后端分页框架pagehelper

pagehelper主要用于java后端访问数据库时实现分页查询。其一般在SSM项目的controller层中使用,模板如以下代码所示:

/**
 *在下面的方法中,我们将查询对应页码(pageNum),对应页面数据量(PaginationConstant.FRONT_PAGE_SIZE) 的数据
 */
 public String search(Model model,Integer pageNum, ProductParams productParams){
        //判断是否传入页码,如未传入,则页码默认为1;
        if(ObjectUtils.isEmpty(pageNum)){
            pageNum = PaginationConstant.PAGE_NUM;
        }
		//设置pagehelper的起始页码(pageNUm),页面数据量(PaginationConstant.FRONT_PAGE_SIZE)
        PageHelper.startPage(pageNum,PaginationConstant.FRONT_PAGE_SIZE);
        //调用service进行查询所有,但查询到的products其实只包含了所设定的页面数据
        List<Product> products = productService.find(productParams);
        //将查询结果products封装到pageInfo对象中,供前端页面使用
        //pageInfo对象还包含了页面的当前页码,总页数等信息。
        PageInfo<Product> pageInfo = new PageInfo<>(products);
        model.addAttribute("pageInfo",pageInfo);
        model.addAttribute("productParams",productParams);
        return "main";
    }

然后,我们在前端使用‘${pageInfo.list}’即可以获得当前页的数据(products)。这里,我的products是我创建的Product商品类的集合
代码片段如下:

 <div>
 	<!--使用c:foreach即可展示后台传入的pageInfo包含的当前页数据-->
	<c:forEach items="${pageInfo.list}" var="product">    
		<div>${product.id}</div>
		<div>${product.name}</div>
		<div>${product.price}</div>
		...              
	</c:forEach>
 </div>

配合合适的css样式就可以展示美观的前端页面了,展示如下:
这是第一页
在这里插入图片描述
这是第二页
在这里插入图片描述
当然,我们实际还需要配合使用前端分页框架,如bootstrap paginator才能实现具有如下翻页功能的页面:
在这里插入图片描述
可以参考博客:如何使用前端分页框架bootstrap paginator

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值