SpringBoot整合PageHelper

POM配置

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

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

Java配置

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

  @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; }

注意:网上很多文章都不贴插件的注入,所以会失败

Controller分页写法

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

    @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的时候,插件会默认选择查询结果的最后一页:

以上便是PageHelper在SpringBoot上的应用;

猜你喜欢

转载自www.cnblogs.com/ifindu-san/p/9721844.html
今日推荐