当使用PageHelper 分页插件以前,咱们用mybatis作分页的话, 须要写两条SQL,那应该是像下面这个样字的:mysql
使用分页插件只有,就能够按照如下方式来写了:git
这样就大大的简化了SQL,是否是贼方便呢。github
其实PageHelper 插件的使用方式也很简单,几步就搞定了:spring
<!-- mybatis的分页插件 --> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.7</version> </dependency>
#pagehelper分页插件配置 pagehelper: helper-dialect: mysql reasonable: true support-methods-arguments: true
说明:reasonable:分页合理化参数,默认值为false。当该参数设置为 true 时,pageNum<=0 时会查询第一页, pageNum>pages(超过总数时),会查询最后一页。默认false 时,直接根据参数进行查询。
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