step1:
引入jar包
<!-- 分页jar包 -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.5</version>
</dependency>
引入的jar包必须是要pagehelper-spring-boot-starter如果单独引入pagehelper的话,分页会不成功
step2:
封装查询对象及分页对象
分页对象(使用lombok插件可以不写set,get方法,简化代码)
package com.cmft.eams.common.model;
import lombok.Data;
/**
* @Description:分页查询
* @author yinglai.yuan
* @date 2018年11月2日 下午3:33:21
*/
@Data
public class PageQuery extends BaseObject {
// 默认页码
private int pageNum = 1;
// 默认分页大小
private int pageSize = 10;
}
查询对象
package com.cmft.eams.app.business.assetmng.model.query;
import com.cmft.eams.common.model.PageQuery;
import lombok.Data;
/**
* @Author: hg
* @Date: 2018/11/15 15:37
* @Version 1.0
*/
@Data
public class AssetInfoQuery extends PageQuery {
/**
* 资产名称
*/
private String assetName;
/**
* 设备序列号
*/
private String deviceNo;
/**
* 职场id
*/
private Long positionId;
/**
* 归属部门
*/
private String departmentId;
/**
* 资产分类code,编码表
*/
private String categoryCode;
}
step3:
service层实现代码:
/**
* 资产查询----查询
* @param assetInfoQuery
* @return
*/
@Override
public WebResponse getAssetInfo(AssetInfoQuery assetInfoQuery) {
// 分页代码
PageHelper.startPage(assetInfoQuery.getPageNum(), assetInfoQuery.getPageSize());
List<AssetInfoVo> data = assetInfoMapper.selectAssetInfo(assetInfoQuery);
PageInfo<AssetInfoVo> pageInfo = new PageInfo<>(data);
return WebResponse.buildSuccessGrid(pageInfo);
}
注意:使用时PageHelper.startPage(pageNum, pageSize)一定要放在列表查询上面,这样在查询时会查出相应的数据量且会查询出总数
step4:
controller层代码
/**
* 资产查询----查询
*/
@GetMapping("/getAssetInfo")
public WebResponse getAssetInfo(@RequestBody AssetInfoQuery assetInfoQuery){
return bssetStorageService.getAssetInfo(assetInfoQuery);
}
WebResponse对象为系统统一封装数据返回给前端接收对象。后续写上... ...
本文详细介绍如何在Spring Boot项目中实现分页查询,包括引入PageHelper分页插件、封装查询与分页对象、service层与controller层的实现代码,以及WebResponse数据封装,为前端提供高效的数据查询接口。
4809

被折叠的 条评论
为什么被折叠?



