pageHelper在Spring框架中pageSize無法修改的問題

妞妞猪發表於2024-07-01

以前在Springboot中分頁是使用pageHelper的,然後想當然的以為在老專案Spring框架上也可以完美複製貼上進去,結果執行起來 pageHelper 的pageSize 一直是全部列表的長度,即(total始終等於pagesize,page始終等於1) 這就相當於沒分頁 。後來發現,pageHelper在Spring中的寫法和Springboot的是不通用的。

解決方案:

1.改成Springboot框架。

2.重新自定義PageInfo類,比較繁瑣。

3.用PageHelper的類來實現:

public JsonResult<PageInfo<FirstMoudle>> getFirstInfo(@RequestParam String billcode, @RequestParam String style, @RequestParam String selectType1, @RequestParam String selectType2, @RequestParam Integer page) {

//sql返回語句
List<FirstMoudle> list = erpService.getFirstInfo(billcode,style,selectType1,selectType2,page);

//建立Page類 pagesize是6
Page pages = new Page(page, 6);
//為Page類中的total屬性賦值
int total = list.size();
pages.setTotal(total);
//計算當前需要顯示的資料下標起始值
int startIndex = (page - 1) * 6;
int endIndex = Math.min(startIndex + 6,total);
//從連結串列中擷取需要顯示的子連結串列,並加入到Page
pages.addAll(list.subList(startIndex,endIndex));
//以Page建立PageInfo
PageInfo pageInfo = new PageInfo<>(pages);

return JsonResult.buildSuccess(pageInfo);
}

參考:https://www.cnblogs.com/min225016/p/16540955.html

相關文章