mybatis的通用分页插件,开源产品前端
pom.xml 需引入相关依赖sql
参数 pageNum, pageSize mybatis
// 利用 mybatis RequestParam 设置 默认值app
@RequestParam(value = "pageNum", defaultValue = "1") int pageNum, @RequestParam(value = "pageSize", defaultValue = "10") int pageSize
serviceImpl -- 高效准确地分页及动态排序spa
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>