SpringBoot 整合 mybatis-pagehelper
1.引入分頁插件依賴
com.github.pagehelper pagehelper-spring-boot-starter 1.2.122.配置yml
分頁插件配置
pagehelper:
helperDialect: mysql
supportMethodsArguments: true
3.使用分頁插件,在查詢前使用分頁插件,原理:統一攔截sql,爲其提供分頁功能
/**
- page: 第幾頁
- pageSize: 每頁顯示條數
*/
PageHelper.startPage(page, pageSize);
4.分頁數據封裝到PagedGridResult.java傳給前端
@Transactional(propagation = Propagation.SUPPORTS)
@Override
public PagedGridResult queryPagedComments(String itemId,
Integer level,
Integer page,
Integer pageSize) {
Map<String,Object> map = new HashMap<>();
map.put("itemId",itemId);
map.put("level",level);
//mabatis-pagehelper--在查詢之前使用分頁:第幾頁、每頁幾條
PageHelper.startPage(page,pageSize);
List<ItemCommentVo> list = itemsMapperCustom.queryItemComments(map);
for(ItemCommentVo vo : list){
vo.setNickname(DesensitizationUtil.commonDisplay(vo.getNickname()));
}
return setterPagedGrid(list,page);
}
private PagedGridResult setterPagedGrid(List<?> list, Integer page) {
PageInfo<?> pageList = new PageInfo<>(list);
PagedGridResult grid = new PagedGridResult();
grid.setPage(page);
grid.setRows(list);
grid.setTotal(pageList.getPages());
grid.setRecords(pageList.getTotal());
return grid;
}