栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Mybatis PageHelper实现分页的使用和过程分析(源码)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Mybatis PageHelper实现分页的使用和过程分析(源码)

目录

前言(啥是PageHelper)

如何使用?(简单实现demo)

一,在SpringBoot工程Pom文件中添加如下依赖

二,Controller层(仅仅展示功能,没有写Service层)

三,mapper层

四,执行结果

过程探究 (源码预警)

一,传统分页原理

二,流程分析

1,设置分页

2,PageInterceptor拦截器以及流程

3,获取总条数

4,获取分页数据

5,查询结果

三,注意事项

总结


前言(啥是PageHelper)

        最近实习中,分配了一些分页功能的接口需要用到PageHelper来做,因此,一边做一遍学习一下这个插件的原理。

        PageHelper是Mybatis的一个插件,PageHelper可以通过设置  PageHelper.startPage(pageNum,pageSize);来执行分页功能,非常的方便快捷,这条语句后紧跟的一条查询操作会进行分页。下面我们来分析一下pageHelper的使用。

//第一页,一页20条记录 
PageHelper.startPage(1, 20);

如何使用?(简单实现demo)

一,在SpringBoot工程Pom文件中添加如下依赖
            
            
                com.github.pagehelper
                pagehelper-spring-boot-starter
                1.2.10
            

二,Controller层(仅仅展示功能,没有写Service层)
@GetMapping(value = "/list")
    public BaseResponse list(@RequestParam Integer pageNum) {
        log.info("列表接口入参:{}", pageNum);

        //设置分页,页码为前端传递,固定页码20页
        PageHelper.startPage(pageNum, 5);
        //查询记录,将记录存入PageInfo
        List info = channelMapper.selectAll();
        PageInfo pageInfo = new PageInfo<>(info);
        if(result == null){
            return BaseResponse.fail("查询分页失败");
        }
        return BaseResponse.ok(pageInfo ,"查询分页成功");
    }

三,mapper层