SpringBoot 集成PageHelper 分页组件解析

符号 阅读:254 2021-03-31 16:53:20 评论:0

第一步:添加依赖:

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

第二步:application.properties 配置文件添加PageHelper 配置参数 或者通过配置类注入PageHelper 实例化对象:

第一种方式:

#pagehelper分页插件配置 
pagehelper.helperDialect=mysql 
pagehelper.reasonable=true 
pagehelper.supportMethodsArguments=true 
pagehelper.params=count=countSql 

第二种方式:

@Configuration 
public class MyBatisConfig { 
	 
	/** 
	 * 分页对象实列化 
	 * @return 
	 */ 
	@Bean 
	public PageHelper pageHelper() { 
		PageHelper pageHelper = new PageHelper(); 
		Properties p = new Properties(); 
		p.setProperty("offsetAsPageNum", "true"); 
		p.setProperty("rowBoundsWithCount", "true"); 
		p.setProperty("reasonable", "true"); 
		p.setProperty("dialect", "mysql"); 
		pageHelper.setProperties(p); 
		return pageHelper; 
	} 
}

第三步:Controller 调用service 实现分页:

	public Result findFullObj(JSONObject entity) { 
		if(logger.isDebugEnabled()){ 
			logger.debug(entity.toJSONString()); 
		} 
		Map<String, Object> param = JSONObject.toJavaObject(entity, Map.class); 
		PageParam rb = super.initPageBounds(param); 
		PageData<UcasArchInfo> pageList = service.selectAllPage(param, rb); 
		return Result.ok().setDatas("list",pageList.getData()).setDatas("limit", pageList.getPageSize()).setDatas("page", pageList.getPageNum()).setDatas("total_count", pageList.getTotalCount()); 
	}

注意的是,分页代码PageHelper.startPage(pageNo,pageSize);只对其后的第一个查询有效.

声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
排行榜
KIKK导航

KIKK导航

关注我们