简述:
Spring Boot整合Mybatis Plus、PageHelper插件实现分页查询功能
环境:
DB: Postgre SQL
插件:
1.Mybatis Plus
2.PageHelper
Maven依赖:
DB:
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
</dependency>
Mybatis Plus:
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus</artifactId>
<version>2.1.9</version>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatisplus-spring-boot-starter</artifactId>
<version>1.0.5</version>
</dependency>
PageHelper:
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>4.1.6</version>
</dependency>
正文:
用法较简单,执行查询前先设置好分页参数初始化PageHelper类,然后执行你的查询,最后再把查询结果封装到PageInfo中就可以丢给前端了。封装后的结果除了你的结果集,还有前端处理分页需要的一些必要参数(这些参数PageHelper自己会处理好,不需要你关注)。
分页参数:
- pageSize:每页显示多少行
- pageNum:第几页
完整的分页代码如下:
PageHelper.startPage(pageSize,pageNum);--初始化分页参数
List<NwpTemplateVo> list = templateDao.queryTemplate(nwpTemplate);--执行你的查询
PageInfo<NwpTemplateVo> TemplatePageInfo=new PageInfo(list);--将结果封装
很简单是吧,三行代码就可以实现分页。
PS:
1.在初始化分页参数后,必须跟着你的查询操作,否则分页有可能不生效。因为在初始化之后,执行你的查询之前,PageHelper会根据接下来你的查询语句自动生成一条查询总条数(select count(1)…)的sql语句并执行它,并且这个查询操作也会像正常日志一样在日志中打印出来。
2.结果集最终是封装在了PageInfo类中的“list”属性中。如下图:
3.初始化分页参数时,分页参数可以以任何形式传过来,如:
1).前端动态入参
2).全局的分页参数
3). …
该例中是前端入参,并且封装在了实体类中,如下图:
4.注意Mybatis Plus的配置-扫描实体类包的配置,要切记的是用于接收查询结果的实体类必须在配置的实体包路径下,否则PageHelper分页会报错。如图:
直接在该路径下或者在路径下新建个文件放在新文件夹里都是可以的,只要在配置的路径下就行。
最终效果:
2021年11月4日 天气·晴