使用pagehelper做分页时自定义返回参数

使用pagehelper做分页时,因为默认PageInfo参数太多,被前端人员嫌弃,做一下自定义返回参数调整

最近项目接到一些新的需求,因为之前的前端开发人员离职,更换了前端对接人员,对接的老哥非常嫌弃分页是返回的PageInfo实体,吐槽无用参数太多,因此对返回的参数进行自定义调整。

//使用默认分页时
PageHelper.startPage(page, size);
List<DataBean> beans = mapper.selectByQuery(express);
return new PageInfo<>(beans);

根据上述代码可以发现,想要进行自定义分页的话,只需要重新定义一个PageInfo就可以了。在询问了前端老哥的意见后,保留了当前页、每页数量、当前页数量、总记录数、总页数字段,其他参数全部干掉,拷贝下PageInfo,在实体目录下新建个PageBean,把PageInfo源码丢进去,删掉多余的参数就OK了。

//应前端老哥要求,只保留如下参数。
public class PageBean<T> {
    private static final long serialVersionUID = 1L;
    //当前页
    private int pageNum;
    //每页的数量
    private int pageSize;
    //当前页的数量
    private int size;
    //总记录数
    private long total;
    //总页数
    private int pages;
    //结果集
    private List<T> list;

然后分页代码把PageInfo改成自己的PageBean就OJBK了。

PageHelper.startPage(page, size);
List<DataBean> beans = mapper.selectByQuery(express);
return new PageBean<>(beans);

pagehelper默认分页参数:

在这里插入图片描述
删减后:
在这里插入图片描述

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Spring项目中使用PageHelper进行分页查询,需要以下几个步骤: 1. 引入依赖 在pom.xml文件中添加PageHelper依赖: ``` <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.3.0</version> </dependency> ``` 2. 配置PageHelper 在Spring Boot项目中,可以在application.properties或application.yml中添加如下配置: ``` pagehelper.helperDialect=mysql pagehelper.reasonable=true pagehelper.supportMethodsArguments=true pagehelper.params=count=countSql ``` 其中,helperDialect表示数据库方言,reasonable表示是否启用合理化分页(即只有一页数据不进行分页),supportMethodsArguments表示是否支持使用方法参数进行分页,params表示传入参数使用的别名。 3. 在DAO层使用PageHelper进行分页查询 在需要进行分页查询的方法中,使用PageHelper.startPage方法设置分页参数,例如: ``` public PageInfo<User> getUserList(int pageNum, int pageSize) { PageHelper.startPage(pageNum, pageSize); List<User> userList = userDao.getUserList(); return new PageInfo<>(userList); } ``` 其中,pageNum表示当前页码,pageSize表示每页数据量,getUserList方法是自定义的查询方法,返回userList。 4. 在Controller层获取分页结果 在Controller层,调用getUserList方法获取分页结果,例如: ``` @GetMapping("/users") public PageInfo<User> getUsers(@RequestParam(defaultValue = "1") int pageNum, @RequestParam(defaultValue = "10") int pageSize) { return userService.getUserList(pageNum, pageSize); } ``` 其中,@RequestParam注解表示获取请求中的参数,如果没有传递参数,则使用默认值。最后返回PageInfo对象,包含分页信息和查询结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值