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对象为系统统一封装数据返回给前端接收对象。后续写上... ...