在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("dialect","mysql"); 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.1.1</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; }