SpringBoot之分页PageHelper

前言

今天我为你们带来一个被用烂的插件(PageHelper)
之因此还要写一遍
是由于在springboot上使用仍是有点不同的
网上也有不少教程,可是在大天朝感受复制粘贴太多,并且不少都不靠谱
你按照网上许多教程来进行插件配置以后发现并无实现分页功能
(博主看到那些所谓的复制文章,且本身又不测试的文章真的很气)
因此今天我想给你们带来一份百分百能success的插件教程java

POM配置

有两种方式,咱们这里只使用原生的PageHelper
导入Maven:git

<dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper</artifactId>
            <version>4.1.3</version>
        </dependency>

Java配置

在springboot的启动类(WarApplication.java)里面注入:github

@Bean
    PageHelper pageHelper(){
        //分页插件
        PageHelper pageHelper = new PageHelper();
        Properties properties = new Properties();
        properties.setProperty("reasonable", "true");
        properties.setProperty("supportMethodsArguments", "true");
        properties.setProperty("returnPageInfo", "check");
        properties.setProperty("params", "count=countSql");
        pageHelper.setProperties(properties);

        //添加插件
        new SqlSessionFactoryBean().setPlugins(new Interceptor[]{pageHelper});
        return pageHelper;
    }

注意:网上不少文章都不贴插件的注入,因此会失败ajax

Controller分页写法

语句pageNum表示当前页,5表示当前页显示的个数为5个
当前页页设置了默认值为1spring

@Autowired
    private BlogMapper blogMapper;

    @ApiOperation(value = "拿到全部博客",notes = "")
    @GetMapping(value = "blogs")
    public R1 ajaxBlog(@RequestParam(value = "pageNum",defaultValue = "1")Integer pageNum){
        PageHelper.startPage(pageNum,5);
        List<Blog> blogList = blogMapper.selectByExample(new BlogExample());
        PageInfo<Blog> pageInfo = new PageInfo<Blog>(blogList);
        return R1.add("blog",pageInfo);
    }

POSTMAN显示结果

当我把页数设置为5的时候,插件会默认选择查询结果的最后一页:springboot

clipboard.png

以上即是PageHelper在SpringBoot上的应用;
以为还能够的请点个赞,赞不了也能够收藏下;
总之,谢谢阅读~app

相关文章
相关标签/搜索