SpringBoot 集成PageHelper 分頁組件

第一步:添加依賴:

<!-- 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);只對其後的第一個查詢有效.

發佈了1256 篇原創文章 · 獲贊 261 · 訪問量 283萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章