Mybatis PageHelper 分页插件

开发环境介绍

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

插件配置

引入Maven依赖


	com.github.pagehelper
	pagehelper-spring-boot-starter
	${pagehelper.version}

配置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 helloWorlds = helloWorldDao.selectAll();
        // 封装分页的多项属性, 包含分页查询结果
        PageInfo pageInfo = new PageInfo(helloWorlds);

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

Note

PageHelper官网

你可能感兴趣的:(Project,In,Action)