Mybaits paging queries using PageHelper

A packet is first turned

         <dependency>
             <groupId>com.github.pagehelper</groupId>
             <artifactId>pagehelper</artifactId>
             <version>5.1.10</version>
         </dependency>

Two times are used mybatis is generated using reverse engineering queries, java class is not an XML file

Defined query object PageQuery.java

import java.util.List;

public class PageQuery<T> {
    private int pageIndex = 0;
    private int pageSize = 20;
    private long totalCount;
    private T queryModel;
    private List<T> list;

    public PageQuery() {
    }
    get and set...
}

The plug-ins to take effect

@Configuration
@MapperScan("com.xxx.mybatis.mapper")
public class SpringConfig {

    @Bean
    public PageInterceptor pageInterceptor() {
        return new PageInterceptor();
    }
}

 

 

Service

public PageQuery<EquipmentOnlineStatus> query(PageQuery<EquipmentOnlineStatus> pageQuery) {
        log.info("recived pageQuery is {}", pageQuery);
        EquipmentOnlineStatus equipment = pageQuery.getQueryModel();
        EquipmentOnlineStatusExample example = new EquipmentOnlineStatusExample();
        EquipmentOnlineStatusExample.Criteria criteria = example.createCriteria();
        if (StringUtils.isNotBlank(equipment.getEquipmentId())) {
            criteria.andEquipmentIdEqualTo(equipment.getEquipmentId());
        }
        if (StringUtils.isNotBlank(equipment.getContractNo())) {
            criteria.andContractNoEqualTo(equipment.getContractNo());
        }
        if (StringUtils.isNotBlank(equipment.getCubeNo())) {
            criteria.andCubeNoEqualTo(equipment.getCubeNo());
        }
        if (StringUtils.isNotBlank(equipment.getTechnician())) {
            criteria.andTechnicianEqualTo(equipment.getTechnician());
        }
        if (StringUtils.isNotBlank(equipment.getPhoneNumber())) {
            criteria.andPhoneNumberEqualTo(equipment.getPhoneNumber());
        }
        // todo 需要排序时打开
//        example.setOrderByClause("UpdateDate DESC");

        PageRowBounds rowBounds = new PageRowBounds(pageQuery.getPageIndex() * pageQuery.getPageSize(), pageQuery.getPageSize());

        List<EquipmentOnlineStatus> equipmentList = equipmentOnlineStatusMapper.selectByExampleWithRowbounds(example, rowBounds);
        pageQuery.setList(equipmentList);
        pageQuery.setTotalCount (rowBounds.getTotal ());

        return pageQuery;

Parameters request

{
    "pageIndex":0,
    "pageSize":5,
    "queryModel":{
        "equipmentId": null,
        "contractNo": null,
        "cubeNo": null,
        "technician": null,
        "phoneNumber": null,
        "email": null
    }
}

 

Guess you like

Origin www.cnblogs.com/zhanzhuang/p/11950259.html