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<Product> productList = productMapper.selectList(); List<ProductListVo> 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 id="selectList" resultMap="BaseResultMap"> select <include refid="Base_Column_List"/> from immall_product order by id asc </select>