SpringBoot 分页

本文介绍如何在SpringBoot项目中使用PageHelper实现分页功能,包括添加依赖、配置参数及编写分页代码的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringBoot 分页

SpringBoot 使用 PageHelper 进行分页
在pom.xml中添加pagehelper-spring-boot的依赖包
<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>1.2.13</version>
</dependency>
配置application.properties
# 分页配置
# 指定数据库,不指定的话会默认自动检测数据库类型
pagehelper.helperDialect=mysql
# 是否启用分页合理化。
# 如果启用,当pagenum<1时,会自动查询第一页的数据,当pagenum>pages时,自动查询最后一页数据;
# 不启用的,以上两种情况都会返回空数据
pagehelper.reasonable=true
# 默认值false,分页插件会从查询方法的参数值中,自动根据上面 params 配置的字段中取值,查找到合适的值时就会自动分页。
pagehelper.supportMethodsArguments=true
# 用于从对象中根据属性名取值,
# 可以配置 pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默认值,
# 默认值为pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero
#pagehelper.params=count=countSql
分页代码
public PageInfo<Entity> getPageInfoList(int page, int size) {
    //启动分页
    PageHelper.startPage(page, size);
    //使用mybatis的Mapper进行数据查询得到列表,并指定导航导航页码数,来创建PageInfo对象(这里的Entity代指需要查询的实体对象)
    PageInfo<Entity> pageInfo = new PageInfo<>(entityMapper.getAllEntity(), 5);
    return pageInfo;
}
controller层的代码
//没有输入页码的情况
@GetMapping(value = {"/{page:[0-9]*}","/"})
public String index(@PathVariable(required = false) Integer page, Model model) {
    page = null == page ? 1 : page;
    //通过service得到pageInfo
    PageInfo<QuestionDTO> pageInfo = questionService.getquestionDTOPageInfo(page, size);
    //传入model中供前台使用
    model.addAttribute("pageInfo", pageInfo);
    return "index";
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值