mybatis的通用分页插件,开源产品
pom.xml 需引入相关依赖
参数 pageNum, pageSize
// 利用 mybatis RequestParam 设置 默认值
@RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize
serviceImpl -- 高效准确地分页及动态排序
public ServerResponse getProductList(int pageNum, int pageSize) {
//startPage--start
//填充自己的sql查询逻辑
//pageHelper--收尾
PageHelper.startPage(pageNum, pageSize); // PageHelper 加载
List productList = productMapper.selectList();
List productListVoList = Lists.newArrayList(); // vo
for (Product productItem : productList) {
ProductListVo productListVo = assembleProductListVo(productItem);
productListVoList.add(productListVo);
}
//根据productList生成PageInfo对象,会根据productList 各种计算页面参数
PageInfo pageResult = new PageInfo(productList);
//但是给前端展示的不是整个 productList,而是productVoList 所以我们需要重置一下 setList
pageResult.setList(productListVoList);
return ServerResponse.createBySuccess(pageResult);
}
mapper中写sql的时候,末尾就不要加 ";" 了,因为 pageHelper 分页插件还会自动加 limit 等语句,如果有 ";" 就会出现错误。
select
from immall_product
order by id asc