Spring Boot实践——Mybatis分页插件PageHelper的使用

时间:2022-07-15 04:37:03

出自:https://blog.csdn.net/csdn_huzeliang/article/details/79350425

在springboot中使用PageHelper插件有两种较为相似的方式,接下来我就将这两种方式进行总结。

  • 方式一:使用原生的PageHelper

1.在pom.xml中引入依赖

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

2.在springboot的启动类(Application.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;
}
  • 方式二:使用PageHelper的starter

1.在pom.xml中引入依赖

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

2.在application.properties配置pagehelper的属性

#pagehelper分页插件配置
pagehelper.helperDialect=mysql
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
最后就是使用pagehelper进行分页了,其中最重要的一句就是

PageHelper.startPage(pageNum,pageSize);pageNum:当前页数   pageSize:当前页需要显示的数量
例如:

public PageInfo<Blog> ajaxBlog(Integer pageNum,Integer pageSize){
PageHelper.startPage(pageNum,pageSize);
List<Blog> blogList = blogMapper.selectByExample(new BlogExample());
PageInfo<Blog> pageInfo = new PageInfo<Blog>(blogList);
return pageInfo;
}