myBatisPlus分页查询使用pagehelper插件

一.pom.xml 中版本

<dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-generator</artifactId>
        </dependency>
        <dependency>
            <groupId>com.github.pagehelper</groupId>
            <artifactId>pagehelper-spring-boot-starter</artifactId>
        </dependency>

二.application.yml

mybatis-plus:
  configuration:
    # 开启驼峰到下划线的映射
    map-underscore-to-camel-case: true
  global-config:
    db-config:
      # 关闭数据库表的下划线映射
      table-underline: false
      logic-delete-field: deleted # 全局逻辑删除的实体字段名
      logic-delete-value: 1 # 逻辑已删除值(默认为 1)
      logic-not-delete-value: 0 # 逻辑H未删除值(默认为 0)

代码

LambdaQueryWrapper<BgPatientInfos> wrapper = new LambdaQueryWrapper();
            wrapper.eq(BgPatientInfos :: getHospitalId,reqBean.getHospitalId());
            wrapper.eq(Objects.nonNull(reqBean.getBillDoctorId()),BgPatientInfos :: getBillDoctorId,reqBean.getBillDoctorId());
            wrapper.eq(Objects.nonNull(reqBean.getInDeptId()),BgPatientInfos::getInDeptId,reqBean.getInDeptId());
            wrapper.eq(Objects.nonNull(reqBean.getIsHomePatient()),BgPatientInfos::getIsHomePatient,reqBean.getIsHomePatient());
            // 大于等于
            wrapper.ge(Objects.nonNull(reqBean.getStartDate()),BgPatientInfos::getPatienArchiveTime,reqBean.getStartDate());
            // 小于等于
            wrapper.le(Objects.nonNull(reqBean.getEndDate()),BgPatientInfos::getPatienArchiveTime,reqBean.getEndDate());
            wrapper.like(Objects.nonNull(reqBean.getPatientName()),BgPatientInfos::getPatientName,reqBean.getPatientName());

            Page<BgPatientInfos> page = PageHelper.startPage(reqBean.getPageNum(),reqBean.getPageSize())
                    .doSelectPage(() -> bgPatientInfosMapper.selectList(wrapper));
            List<BgPatientInfos> patientInfos = page.getResult();
            Long total = NumConstants.LONG_0;
            if (Objects.nonNull(page.getTotal()) && CollectionUtil.isNotEmpty(patientInfos)){
                total = page.getTotal();
                List<BgPatientInfosBean> patientInfosBeans = patientInfos.stream().map(this :: buildBgPatientInfos).collect(Collectors.toList());
                resBean.setBeanList(patientInfosBeans);
            }
            PageUtils.renderPageRespFromTotal(reqBean.getPageNum(),reqBean.getPageSize(),total.intValue(),resBean);

            return Result.wrapSuccess(resBean);
 public static void renderPageRespFromTotal(Integer pageNum, Integer pageSize, Integer total, PageResponseBean pageResp) {
        pageResp.setPageNum(pageNum);
        pageResp.setPageSize(pageSize);
        Integer pages = NumConstants.INT_0;
        if (null != pageSize && pageSize > NumConstants.INT_0 && null != total && total > NumConstants.INT_0) {
            pages = total / pageSize + total % pageSize == NumConstants.INT_0 ? NumConstants.INT_0 : NumConstants.INT_1;
            pageResp.setPageCount(pages);
            pageResp.setTotal((long)total);
        }

    }
private BgPatientInfosBean buildBgPatientInfos(BgPatientInfos bgPatientInfos){
        BgPatientInfosBean infosBean = new BgPatientInfosBean();
        infosBean.setX(bgPatientInfos.getX);
        .......
        return infosBean;
    }
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SuperChen12356

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值