mybatis-pagehelper -- 高效準確地分頁及動態排序

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>
相關文章
相關標籤/搜索