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;
}

 

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