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;
}