Springboot之PageHelper分页插件的使用

最近在使用springboot写程序的时候,用到了 pagehelper分页插件,但是会出现不分页的情况。根据网上的经验,总结了如下两种方式

方式一 原生的pagehelper

1.在pom.xml中引入依赖

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

2.配置pagehelper

import java.util.Properties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.github.pagehelper.PageHelper;
  
@Configuration
public class PageHelperConfig {
    @Bean
    public PageHelper pageHelper() {
        PageHelper pageHelper = new PageHelper();
        Properties p = new Properties();
        p.setProperty("offsetAsPageNum", "true");
        p.setProperty("rowBoundsWithCount", "true");
        p.setProperty("reasonable", "true");
        pageHelper.setProperties(p);
        return pageHelper;
    }
}

方式二 pagehelper的starter

1.在pom.xml中引入依赖

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

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

pagehelper.helperDialect=mysql
#分页参数合理化
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql码片

3.在controller类中实现分页

public String getEmps(Model model) {
			PageHelper.startPage(1, 5);//第一个参数:当前页数,第二个参数:查询的条数
			// 注意:分页仅对startPage方法后的第一条查询语句有效
			List<Emp> emps = empService.getAll();
			// 使用pageInfo包装查询后的结果,只需要将pageInfo交给页面就行了。
			PageInfo<Emp> page = new PageInfo<Emp>(emps, 5);
			model.addAttribute("pageInfo", page);
			return "list";//配置了前后缀,返回jsp页面
	}

欢迎大家评论和转发,如有错误请提出,我会及时改正。

上一篇:pageHelper使用


下一篇:Mybatis的分页插件PageHelper分页失效的原因