前言
今天我为大家带来一个被用烂的插件(PageHelper)
之所以还要写一遍
是因为在springboot上使用还是有点不一样的
网上也有很多教程,但是在大天朝感觉复制粘贴太多,而且很多都不靠谱
你按照网上许多教程来进行插件配置之后发现并没有实现分页功能
(博主看到那些所谓的复制文章,且自己又不测试的文章真的很气)
所以今天我想给大家带来一份百分百能success的插件教程
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上的应用;
觉得还可以的请点个赞,赞不了也可以收藏下;
总之,谢谢阅读~