springboot2之系统架构基础(四) pagehelper 使用详解

step1:

引入jar包





    com.github.pagehelper
    pagehelper-spring-boot-starter
    1.2.5

引入的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 data =  assetInfoMapper.selectAssetInfo(assetInfoQuery);
        PageInfo 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对象为系统统一封装数据返回给前端接收对象。后续写上... ...

你可能感兴趣的:(springboot,基础架构系列)