小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-5.PageHelper分页插件使用 笔记 开始 流程图

小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_3-5.PageHelper分页插件使用
笔记
开始
流程图


5、PageHelper分页插件使用
    简介:讲解开源组件,mybaits分页插件的使用

        1、引入依赖
            <!-- 分页插件依赖 -->
            <dependency>
                <groupId>com.github.pagehelper</groupId>
                <artifactId>pagehelper</artifactId>
                <version>4.1.0</version>
            </dependency>

        2、增加配置文件
                @Configuration
            public class MyBatisConfig {
                @Bean
                public PageHelper pageHelper(){
                    PageHelper pageHelper = new PageHelper();
                    Properties p = new Properties();
                    p.setProperty("offsetAsPageNum","true");
                    p.setProperty("rowBoundsWithCount","true");
                    p.setProperty("reasonable","true");
                    pageHelper.setProperties(p);
                    return pageHelper;
                }
            }

        3、包装类
                PageHelper.startPage(page, size);

                PageInfo<VideoOrder> pageInfo = new PageInfo<>(list);


        4、基本原理    
            sqlsessionFactory -> sqlSession-> executor -> mybatis sql statement
            通过mybatis plugin 增加拦截器,然后拼装分页
            org.apache.ibatis.plugin.Interceptor
 

开始

一般sql语句写的分页




首先引入依赖

 
新增配置文件。这里是用注解的方式






输出的sql语句








数据库内总共11条数据

返回的很多分页字段数据用不到,用Map再抽取一下

这就是封装的分页数据

流程图


拦截器的类的代码。可以尝试封装自己的拦截器