springboot mybatis PageHelper 分页插件

当使用PageHelper 分页插件以前,咱们用mybatis作分页的话, 须要写两条SQL,那应该是像下面这个样字的:mysql

使用分页插件只有,就能够按照如下方式来写了:git

这样就大大的简化了SQL,是否是贼方便呢。github

其实PageHelper 插件的使用方式也很简单,几步就搞定了:spring

  1. 首先,添加maven依赖,以下:
    <!-- mybatis的分页插件 -->
    <dependency>
        <groupId>com.github.pagehelper</groupId>
        <artifactId>pagehelper-spring-boot-starter</artifactId>
        <version>1.2.7</version>
    </dependency>
  2. 配置yml文件:
    #pagehelper分页插件配置
    pagehelper:
        helper-dialect: mysql
        reasonable: true
        support-methods-arguments: true
    说明:reasonable:分页合理化参数,默认值为false。当该参数设置为 true 时,pageNum<=0 时会查询第一页, pageNum>pages(超过总数时),会查询最后一页。默认false 时,直接根据参数进行查询。
  3. 到这里插件的配置就完成了,具体使用方式以下,也是贼方便:
    controller代码
    @RequestMapping(value = "helper")
    @ResponseBody
    public PageInfo<Student> Helper(Integer pageNum,Integer pageSize ){
        PageInfo pageInfo = helloService.selectList(pageNum,pageSize);
        return pageInfo;
    }
    service代码
    public PageInfo selectList(Integer pageNum,Integer pageSize){
        PageHelper.startPage(pageNum, pageSize); // 设定当前页码,以及当前页显示的条数 
        //PageHelper.offsetPage(pageNum, pageSize);也能够使用此方式进行设置
        List<Student> list = studentMapper.selectList();
        PageInfo<Student> pageInfo = new PageInfo<Student>(list);
        return pageInfo;
    }
    
    OR
    public PageInfo selectList(Integer pageNum,Integer pageSize){
        PageInfo<Student> pageInfo = PageHelper.startPage(1, 10).doSelectPageInfo(() -> studentMapper.selectList());
        return pageInfo;
    }

结果以下:sql

到此,PageHelper 就能够完美的使用了!springboot

若是出现以下报错信息,是由于springboot2.0 与 PageHelper 版本不兼容,将PageHelper的版本提升就行了mybatis

相关文章
相关标签/搜索