Mybatiseplus---条件分页查询【项目实战】

本文介绍了如何使用Java编程语言实现一个报告页面请求的条件分页查询,涉及LambdaQueryWrapper、Like操作符和动态条件筛选,适用于短信模板的高效检索和管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

条件分页查询

  @Override
    public CommonResult AllFactorSign( ReportPageRequest request) {
        //条件查询
        LambdaQueryWrapper<SmsTemplate> queryWrapper = new LambdaQueryWrapper<>();

        if (StrUtil.isNotBlank(request.getNameOrOrderOrCode())) {
            queryWrapper.like(SmsTemplate::getTemplateName, request.getNameOrOrderOrCode())
                    .or().like(SmsTemplate::getOrderId, request.getNameOrOrderOrCode())
                    .or().like(SmsTemplate::getTemplateCode, request.getNameOrOrderOrCode());
        }
        if (Objects.nonNull(request.getTemplateType())) {
            queryWrapper.eq(SmsTemplate::getTemplateType, request.getTemplateType());
        }
        if (Objects.nonNull(request.getCreateTime())) {
            queryWrapper.apply((ObjectUtil.isNotNull(request.getCreateTime())), "DATE_FORMAT(create_time, '%Y-%m-%d') = {0}", request.getCreateTime());
        }

        if (StrUtil.isNotBlank(request.getTemplateStatus())) {
            queryWrapper.eq(SmsTemplate::getTemplateStatus, request.getTemplateStatus());
        }

        //current:当前页  size:条数
        Page<SmsTemplate> page = new Page<>(request.getCurrent(), request.getSize());

        //根据条件查询数据
        IPage<SmsTemplate> iPage = smsTemplateMapper.selectPage(page, queryWrapper);

        List<SmsTemplate> list = iPage.getRecords();

        return CommonResult.success(list);
    }

ReportPageRequest

@Data
public class ReportPageRequest {
    /**
     * 模板名称,工单号,模板code
     */
    @ApiModelProperty(name = "nameOrOrderOrCode", value = "模板名称/工单号/模板code--0:验证码。1:短信通知。2:推广短信。3:国际/港澳台消息。")
    private String nameOrOrderOrCode;
    /**
     * 模板类型
     */
    @ApiModelProperty(name = "templateType", value = "模板类型--0:验证码。1:短信通知。2:推广短信。3:国际/港澳台消息。")
    private Integer templateType;
    /**
     * 模板创建时间
     */
    private LocalDate createTime;
    /**
     * 模板审核状态
     */
    @ApiModelProperty(name = "templateStatus", value = "模板审核状态--approving:审核中  approved:审核通过  rejected:审核未通过")
    private String templateStatus;

    /**
     * 当前页数
     */
    private Integer current;
    /**
     * 当前条数
     */
    private Integer size;
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值