Springboot集成PageHelper分页插件

本次项目插件集成在基础项目上进行修改

地址:基础项目

一、添加pom依赖

<!--版本-->
<pagehelper.version>5.0.4</pagehelper.version>


<!--pagehelper依赖-->
<dependency>
	<groupId>com.github.pagehelper</groupId>
	<artifactId>pagehelper</artifactId>
	<version>${pagehelper.version}</version>
</dependency>

二、配置类配置 

    @Bean(name = "SqlSessionFactory")
    public SqlSessionFactoryBean createSqlSessionFactoryBean() throws Exception {
        SqlSessionFactoryBean sqlSessionFactoryBean = new SqlSessionFactoryBean();
        Resource[] resources = new PathMatchingResourcePatternResolver().getResources(MAPPERPATH);
        sqlSessionFactoryBean.setMapperLocations(resources);
        sqlSessionFactoryBean.setTypeAliasesPackage(entityPackage);
        sqlSessionFactoryBean.setDataSource(dataSource);

        //分页插件
        Properties properties = new Properties();
        //设置默认mysql
        properties.setProperty("helperDialect","mysql");
        //设置rowRound中offset不能当pageNum用
        properties.setProperty("offsetAsPageNum","false");
        //禁用自动统计
        properties.setProperty("rowBoundsWithCount","false");
        //查询默认如果有pageNum为0查询全部
        properties.setProperty("pageSizeZero","false");
        //支持通过mapper传递分页参数
        properties.setProperty("supportMethodsArguments", "true");
        //设置超出范围将返回null
        properties.setProperty("reasonable", "false");
        //配置参数映射
        properties.setProperty("params", "count=countSql");
        //自动获取数据库类型时,会自动获取一个数据库连接, 通过该属性来设置是否关闭获取的这个连接
        properties.setProperty("closeConn","closeConn");
        //控制返回结果可为null
        properties.setProperty("returnPageInfo", "check");

        //声明分页
        PageInterceptor pageInterceptor = new PageInterceptor();
        pageInterceptor.setProperties(properties);
        // 引入插件
        sqlSessionFactoryBean.setPlugins(new Interceptor[]{pageInterceptor});

        return sqlSessionFactoryBean;
    }

三、Service业务处理

    @Override
    public ResultEntry selectAll(Integer pageIndex, Integer pageSize) {

        PageHelper.startPage(pageIndex, pageSize);

        List<UserInfo> userInfoList = userInfoMapper.selectAll();
        PageInfo pageInfo = new PageInfo(userInfoList);

        ResultListEntry resultListEntry = new ResultListEntry();
        resultListEntry.setDataList(pageInfo.getList());
        resultListEntry.setTotalCount(pageInfo.getTotal());
        resultListEntry.setPageNum(pageInfo.getPageNum());
        resultListEntry.setPageSize(pageInfo.getPageSize());

        return new ResultEntry().success(resultListEntry);
    }

四、postman进行测试

注:json格式传入分页参数pageNum、pageSize

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值