Springboot使用插件pagehelper進行分頁查詢

一、配置pom

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>5.1.2</version>
</dependency>

二、配置文件application

# 這裏用的是application.yml
pagehelper:
    # 指定數據庫,不指定的話會默認自動檢測數據庫類型
    # 目前支持:Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL
  helper-dialect: mysql
    # 用於從對象中根據屬性名取值,
    # 可以配置 pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默認值,
    # 默認值爲        pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero
  params: count=countSql
    # 是否啓用分頁合理化。
    # 如果啓用,當pagenum<1時,會自動查詢第一頁的數據,當pagenum>pages時,自動查詢最後一頁數據;
    # 不啓用的,以上兩種情況都會返回空數據
  reasonable: true
    # 默認值false,分頁插件會從查詢方法的參數值中,自動根據上面 params 配置的字段中取值,查找到合適的值時就會自動分頁。
  support-methods-arguments: true

三、編寫代碼樣例

// serviceImpl
@Override
public List<user> queryAllByPage(int pageNum, int pageSize) {
    //關鍵
    PageHelper.startPage(pageNum,pageSize);
    return userMapper.selectAll();
}

// service
List<user> queryAllByPage(int pageNum, int pageSize);

// controller
@GetMapping(value = "/api/user/queryAllByPage")
public HashMap<String,Object> queryAllByPage(@RequestParam(value = "pageNum", defaultValue = "1") int pageNum,@RequestParam(value = "pageSize",defaultValue = "15") int pageSize){
    HashMap<String, Object> map = new HashMap<>();
    List<user> usersList = userService.queryAllByPage(pageNum,pageSize);
    map.put("results",usersList);
    return map;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章