SpringBoot整合PageHelper

1、添加pom依赖

 <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
            <version>1.2.10</version>
 </dependency>

2、添加配置(可以不写配置)

参数说明:

helperDialect:分页插件会自动检测当前的数据库链接,自动选择合适的分页方式。 你可以配置helperDialect属性来指定分页插件使用哪种方言。

reasonable:分页合理化参数,默认值为false。当该参数设置为 true 时,pageNum<=0 时会查询第一页, pageNum>pages(超过总数时),会查询最后一页。默认false 时,直接根据参数进行查询。

supportMethodsArguments:支持通过 Mapper 接口参数来传递分页参数,默认值false,分页插件会从查询方法的参数值中,自动根据上面 params 配置的字段中取值,查找到合适的值时就会自动分页。

params:为了支持startPage(Object params)方法,增加了该参数来配置参数映射,用于从对象中根据属性名取值, 可以配置 pageNum,pageSize,count,pageSizeZero,reasonable,不配置映射的用默认值, 默认值为pageNum=pageNum;pageSize=pageSize;count=countSql;reasonable=reasonable;pageSizeZero=pageSizeZero

更多参数见:https://github.com/pagehelper/Mybatis-PageHelper/blob/master/wikis/zh/HowToUse.md

yml格式:

pagehelper:
    helperDialect: mysql
    reasonable: true 
    supportMethodsArguments: true
    params: count=countSql

 

3. demo演示

    @Service
    public classDemoService {
        @Autowired
        privateDemoMapper demoMapper;
        //当前页 一页多少个  mysql通过limit分页
        public PageInfo<Demo> findDemoList(int page, int size) {
            // 开启分页插件,放在查询语句上面 帮助生成分页语句
            PageHelper.startPage(page, size); //底层实现原理采用改写语句   将下面的方法中的sql语句获取到然后做个拼接 limit  AOPjishu 
            List<Demo> listDemo = demoMapper.findDemoList();
            // 封装分页之后的数据  返回给客户端展示  PageInfo做了一些封装 作为一个类
            PageInfo<Demo> pageInfoDemo = new PageInfo<Demo>(listDemo);
            //所有分页属性都可以冲pageInfoDemo拿到;
            return pageInfoDemo;
        }

 

posted @ 2021-02-23 17:34  Mistolte  阅读(385)  评论(0编辑  收藏  举报