动态sql 日期 循环查询

该篇文章介绍了如何使用Java编写一个API,根据用户输入的参数动态查询数据库表`quota_application`,涉及用户ID、申请状态、时间和类型等过滤条件,用于数据分页并返回QuotaManagementVO对象。

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

SELECT us.member_id memberId, qa. * from quota_application qa left join user_quota us ON us.id= qa.user_quota_id and quota_application.application_status = #{params.applicationStatus} and us.member_id = #{params.search} and us.member_id in #{item}
        <if test="params.startDate != null and params.timeType == 1">
            and DATE_FORMAT(qa.`create_time`, '%Y-%m-%d %H:%i:%s') >= #{params.startDate}
        </if>
        <if test="params.endDate != null and params.timeType == 1">
            and DATE_FORMAT(qa.`create_time`, '%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{params.endDate}
        </if>
        <if test="params.startDate != null and params.timeType == 2">
            and DATE_FORMAT(qa.`update_time`, '%Y-%m-%d %H:%i:%s') >= #{params.startDate}
        </if>
        <if test="params.endDate != null and params.timeType == 2">
            and DATE_FORMAT(qa.`update_time`, '%Y-%m-%d %H:%i:%s') <![CDATA[ <= ]]> #{params.endDate}
        </if>

    </where>
    order by qa.create_time desc
</select>

   IPage<QuotaManagementVO> quotaManagementPage(@Param("page") Page<?> page, @Param("params") QuotaManagementDTO dto);
package com.wa.market.model.dto;

import com.wa.base.PageDTO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 查询参数
 */
@Data
public class QuotaManagementDTO extends PageDTO implements Serializable {

    @ApiModelProperty("用户id/申请用户")
    private String search;

    @ApiModelProperty("申请状态:0-待审核,1-通过,2-不通过")
    private Integer applicationStatus;

    @ApiModelProperty("申请类型: 0-授权申请,1-额度升级")
    private Integer type;

    private List<Long> memberIds;

    @ApiModelProperty("查询时间类型: 1,申请时间,2审核时间")
    private Integer timeType;

    @ApiModelProperty("开始查询时间")
    private  String startDate;

    @ApiModelProperty("结束查询时间")
    private  String endDate;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值