最近在使用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页面
}
欢迎大家评论和转发,如有错误请提出,我会及时改正。