MyBatis分页插件失效问题之解决

今天遇到一个问题,MyBatis分页插件失效,导致分页无效,分页失效的原因是我在Controller里做了分页,但业务逻辑实现类对应的方法却写了两个SQL,第一个SQL是查询一条数据判断,第二个SQL是查询列表(是需要分页的),结果通过日志打印SQL,我发现它却对第一个SQL做分页。最后我的解决办法是,在业务逻辑实现类对应的方法做分页,解决了这个问题。

MyBatis实现分页很简单,需要引入如下两个依赖(以SpringBoot+MyBatis为例):

1
2
3
4
5
6
7
8
9
10
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>5.1.6</version>
</dependency>
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.12</version>
</dependency>

核心模板代码:

1
2
3
PageHelper.startPage(pageNum,pageSize);
List<T> list = xxxService.getAll();
PageInfo<T> pageInfo = new PageInfo<>(list);

通常建议这段代码写入Service层,最好不要写在Controller里面。

文章目录