别的不多说,简单介绍一下使用这个插件的步骤:
- 导入依赖
- 添加配置
- 应用
第一步:导入依赖
<!-- mybatis的分页 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>${pagehelper.version}</version>
</dependency>
第二步:添加配置
#mybatis-pagehelper的配置
pagehelper:
helper-dialect: mysql
reasonable: true
supportMethodsArguments: true
params: count=countSql
第三步:应用
PageHelper.startPage(pageNum,pageSize);
List list = examinationOptionsMapper.selectByCourseId(courseId);
PageInfo<ExaminationOptions> infoDetailFrontEndPageInfo = new PageInfo<ExaminationOptions>(list);
到此完成,就可以满足分页的功能。但是,也需要特别注意一下问题。
注意事项:
🖤why:pageHelper中存在分页失效的问题。
🖤原因:
- 引入的依赖问题(我直接引入的是上述的依赖,而不是再github上项目文档中的依赖)。
- pagehelper里边的PageHelper.startPage(1,10); 只对该语句以后的第一个查询语句添加分页查询。
🖤解决方式:
- 第一种情况:更换依赖
- 第二种情况:
- 错误场景:我在controller中调用service的接口,此时,直接把分页的应用步骤写在了controller中。分页失效
- 原因:我在service中对业务的处理并不是只访问了一次数据库。
- 实际分页语句:在service中的第一条SQL语句
- 解决方式:把分页放到你具体的要进行分页的请求时