1、分页插件所需的依赖导入
<!-- springboot分页插件 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.3.0</version>
</dependency>
2、 配置application.properties文件
# 分页配置
pagehelper.helper-dialect = mysql
pagehelper.reasonable = true
pagehelper.support-methods-arguments = true
pagehelper.params = count=countSql
配置参数说明 😒:
# 指明数据库
pagehelper.helper-dialect = mysql
# 分页参数合理化,默认false禁用
# 启用合理化时,如果pageNum<1会查询第一页,如果pageNum>pages会查询最后一页
# 禁用合理化时,如果pageNum<1或pageNum>pages会返回空数据
pagehelper.reasonable = true
# 支持通过Mapper接口参数来传递分页参数
pagehelper.support-methods-arguments = true
# 为了支持startPage(Object params)方法
# 增加了一个`params`参数来配置参数映射,用于从Map或ServletRequest中取值
# 可以配置pageNum,pageSize,count,pageSizeZero,reasonable,orderBy,不配置映射的用默认值
# 不理解该含义的前提下,不要随便复制该配置
pagehelper.params = count=countSql
3、Service使用pagehelper
/**
* 查询所有正常的数据,并分页!
* @param pageNum 分页的当前页数
* @param pageSize 分页的每一页数据长度
* @return
*/
public Map<String, Object> selectBlogPaging(int pageNum, int pageSize){
Map<String, Object> resultMap = new HashMap<>();
//先获取所有数据总量,返回给前台!
List<TBlog> tBlogs = bLogMapper.selectAllBlogPaging();
resultMap.put("blogSize",tBlogs.size());
//使用分页插件,核心代码就这一行
PageHelper.startPage(pageNum, pageSize);
// 获取分页后的数据
List<TBlog> blogList = bLogMapper.selectAllBlogPaging();
if (blogList.size()>0){
resultMap.put("code",200);
resultMap.put("msg","分页查询成功!");
resultMap.put("blogList",blogList);
return resultMap;
}
resultMap.put("code",400);
resultMap.put("msg","分页查询失败!");
return resultMap;
}
4、Mapper查询
/**
* 查询所有正常的博客,供service分页使用
* @param
* @return
*/
// 我的项目采用逻辑删除,所以需要查找那些非删除状态的数据,
// 如果您不需要的话,直接查询所有用户数据即可
@Select("SELECT * FROM t_blog WHERE is_del = 0")
List<TBlog> selectAllBlogPaging();
5、controller
/**
* 查找所有正常博客.并分页
* @param pageNum 分页的当前页数
* @param pageSize 分页的每一页数据长度
* @return
*/
@PostMapping("/selectBTPaging")
public Map<String, Object> selectTBlogPaging(int pageNum, int pageSize){
return bLogService.selectBlogPaging(pageNum,pageSize);
}
结果演示:
csdn博客 😒 表情包的使用
:z
英文冒号加z (冒号前面需要空格)