zoukankan      html  css  js  c++  java
  • (七)SpringBoot使用PageHelper分页插件

    二:添加PageHelper依赖

    <dependency>
       <groupId>com.github.pagehelper</groupId>
       <artifactId>pagehelper-spring-boot-starter</artifactId>
       <version>1.2.5</version>
    </dependency>
    

      

    三:添加PageHelper配置

    application.properties中添加

    logging.level.com.example.demo.dao=DEBUG
    pagehelper.helperDialect=mysql
    pagehelper.reasonable=true
    pagehelper.supportMethodsArguments=true
    pagehelper.params=count=countSql
    pagehelper.page-size-zero=true
    

      

    四:使用方法

    UserInfoMapper.xml

    <select id="selectAll" resultMap="BaseResultMap">
        select
        <include refid="Base_Column_List"/>
        from user_info
    </select>
    

    UserInfoMapper

    List<UserInfo> selectAll();
    

    UserInfoServiceImpl

    @Override
    public PageInfo<UserInfo> selectAll(Integer page, Integer size) {
        //开启分页查询,写在查询语句上方
        //每页的数量 pageSize;
        //当前页的数量  size;
        PageHelper.startPage(page, size);
        List<UserInfo> userInfoList = userInfoMapper.selectAll();
        PageInfo<UserInfo> pageInfo = new PageInfo<>(userInfoList);
        return pageInfo;
    }    
    

    UserInfoController

    @ApiOperation(value = "查询用户", notes = "分页查询用户所有")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "page", value = "当前页码",
                    dataType = "Integer", paramType = "query"),
            @ApiImplicitParam(name = "size", value = "每页显示条数",
                    dataType = "Integer", paramType = "query")
    })
    @PostMapping("/selectAll")
    public RetResult<PageInfo<UserInfo>> selectAll(@RequestParam(defaultValue = "0") Integer page,
                                          @RequestParam(defaultValue = "0") Integer size) {
        PageInfo<UserInfo> pageInfo = userInfoService.selectAll(page, size);
        return RetResponse.makeOKRsp(pageInfo);
    }
    

      

    五:PageHelper中默认PageInfo的成员变量介绍

    //当前页
    private int pageNum;
    //每页的数量
    private int pageSize;
    //当前页的数量
    private int size;
    //当前页面第一个元素在数据库中的行号
    private int startRow;
    //当前页面最后一个元素在数据库中的行号
    private int endRow;
    //总记录数
    private long total;
    //总页数
    private int pages;
    //结果集
    private List<T> list;
    //第一页
    private int firstPage;
    //前一页
    private int prePage;
    //是否为第一页
    private boolean isFirstPage;
    //是否为最后一页
    private boolean isLastPage;
    //是否有前一页
    private boolean hasPreviousPage;
    //是否有下一页
    private boolean hasNextPage;
    //导航页码数
    private int navigatePages;
    //所有导航页号
    private int[] navigatepageNums; 
    

      

    六:功能测试

    地址:http://192.168.1.104:8080/userInfo/selectAll

    情况一:不传参数,默认为全查询

    情况二:参数 page=2&size=1

      

     

  • 相关阅读:
    9th week
    8th Week 2
    8th Week 1
    课后作业-阅读任务-阅读提问-4
    2017-11-30-构建之法:现代软件工程-阅读笔记
    《团队-OldNote-项目总结》
    个人编程作业2-课程总结
    《团队-Oldnote-最终程序》
    课后作业-阅读任务-阅读提问-3
    《20171102-构建之法:现代软件工程-阅读笔记》
  • 原文地址:https://www.cnblogs.com/yui66/p/9615818.html
Copyright © 2011-2022 走看看