如何使用後端分頁框架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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章