首页 > 其他 > 详细

Mybaits使用PageHelper进行分页查询

时间:2019-11-28 16:06:52      阅读:91      评论:0      收藏:0      [点我收藏+]

一 首先进行导包

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

二 本次所用到的mybatis是用逆向工程生成的查询语句,是java类,并不是XML文件

定义查询对象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...
}

使插件生效

@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;

请求的参数

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

 

Mybaits使用PageHelper进行分页查询

原文:https://www.cnblogs.com/zhanzhuang/p/11950259.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!