Mybatis PageHelper 分页插件

开发环境介绍

  • 系统框架:Spring Boot
  • 数据库:MySql
  • 项目构建: Maven
  • 开发工具: Intellij Idea
  • 分页插件: PageHelper

插件配置

引入Maven依赖

<dependency>
	<groupId>com.github.pagehelper</groupId>
	<artifactId>pagehelper-spring-boot-starter</artifactId>
	<version>${pagehelper.version}</version>
</dependency>

配置application.properties

#-----------------------------------------Mybatis PageHelper分页-----------------------
# 分页插件会自动检测当前的数据库链接,自动选择合适的分页方式。
pagehelper.helper-dialect=mysql
# 分页合理化参数,默认为false。当参数设置为true时,pageNum<=0时会查询第一页,pageNum>pages(超过总数时),会查询最后一页
pagehelper.reasonable=true
# 为了支持startPage(Object params)方法,增加了该参数来配置参数映射,用于从对象中根据属性名取值
# 默认值pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero
pagehelper.params=count=countSql
# 支持通过Mapper接口参数来传递分页参数,默认值为false,分页插件会从查询方法的参数值中,自动根据上面params配置的字段中取值,查找到和时的值就会自动分页
pagehelper.support-methods-arguments=true

在controller中进行分页查询

    /**
     * 利用PageHelper实现分页查询
     * @param response
     * @param pageNum 页码
     * @param pageSize 页大小
     * @param orderBy 排序的依据
     */
    @PostMapping("/mybatisPageHelper")
    public void mybatisPageHelper(HttpServletResponse response, @RequestParam(defaultValue = "1") Integer pageNum,
                                  @RequestParam(defaultValue = "10") Integer pageSize, @RequestParam(defaultValue = "id") String orderBy) {
        // 设置分页,不需要在Mapper接口或者XML中设置pageNum, pageSize, orderBy等参数
        PageHelper.startPage(pageNum, pageSize, orderBy);
        List<HelloWorld> helloWorlds = helloWorldDao.selectAll();
        // 封装分页的多项属性, 包含分页查询结果
        PageInfo<HelloWorld> pageInfo = new PageInfo<HelloWorld>(helloWorlds);

        HttpUtils.printJsonToResponse(response, JSON.toJSONString(pageInfo));
    }

Note

PageHelper官网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值