1.依赖配置
pageHelper-spring-boot-starter
2.实体类
@Data public class JsonPage<T> implements Serializable{ @ApiModelProperty(value="当前分页",name="page") private Integer page; @ApiModelProperty(value="总页条数",name="pageSize") private Integer pageSize; @ApiModelProperty(value="总条数",name="totalPage") private Integer totalPage; @ApiModelProperty(value="总页数",name="total") private Long total; @ApiModelProperty(value="分页数据",name="list") private List<T> list; // 将 PageHelper 分页后的list转为分页信息 public static <T> JsonPage<T> restPage(PageInfo<T> pageInfo){ JsonPage<T> result =new JsonPage<T>(); result.setTotalPage(pageInfo.getPages()); result.setPage(pageInfo.getPageNum()); result.setPageSize(pageInfo.getPageSize()); result.setTotal(pageInfo.getTotal()); result.setList(pageInfo.getList()); return result; } }
3.分别需要用的接口
mapper: List<UserVo> list();
service : JsonPage<UserVo> listById(Integer page,Integer pageSize);
4.业务逻辑层
public JsonPage<UserVo> lsitById(Integer page,Integer pageSize){ PageHelper.startPage(page,pageSize); List<UserVo> lint = mapper.list(); return JsonPage.restPage(new JsonInfo<>(list)); }
5.控制层
@GetMapping("/list") @ApiOperation("分页查询秒杀列表信息") @ApiImplicitParams({ @ApiImplicitParam(value = "页码",name = "page",dataType = "int", required = true, example = "1"), @ApiImplicitParam(value = "每页条数",name = "pageSize",dataType = "int", required = true, example = "3") }) public JsonResult<JsonPage<UserVo>> listByIdJson( Integer page,Integer pageSize){ JsonPage<UserVO> list = service.listById(page,pageSize); return JsonResult.ok(list); }