springboot mybatis PageHelper 分页插件

当使用PageHelper 分页插件之前,我们用mybatis做分页的话, 需要写两条SQL,那应该是像下面这个样字的:

springboot mybatis PageHelper 分页插件

使用分页插件只有,就可以按照以下方式来写了:

springboot mybatis PageHelper 分页插件

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

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

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

结果如下:

springboot mybatis PageHelper 分页插件

到此,PageHelper 就可以完美的使用了!

如果出现如下报错信息,是因为springboot2.0 与 PageHelper 版本不兼容,将PageHelper的版本提高就好了

springboot mybatis PageHelper 分页插件

springboot mybatis PageHelper 分页插件

springboot mybatis PageHelper 分页插件

 

 

 

转载于:https://my.oschina.net/u/3690153/blog/2250720