mybatis按时间条件搜索

dto接受前台字符串时间格式

@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date contractStartDt;
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date contractEndDt;

dto部分

private Date proCreateDt;

private Date proCompleteDt;

private String proCreateDtStr;

private String proCompleteDtStr;

mybatis mapper.xml部分

<if test="entity.proName != null and entity.proName !=''">,
<![CDATA[ AND pro_name = #{entity.proName} ]]>
</if>
<if test="entity.proCreateDtStr != null and entity.proCreateDtStr !=''">
<![CDATA[ AND pro_create_dt Like CONCAT('${entity.proCreateDtStr}','%' )]]>
</if>
<if test="entity.proCompleteDtStr != null and entity.proCompleteDtStr !=''">
<![CDATA[ AND pro_complete_dt Like CONCAT('${entity.proCompleteDtStr}','%' )]]>
</if>
<if test="entity.contractStartDtStr != null and entity.contractStartDtStr != ''">
<![CDATA[ and contract_start_dt >= #{entity.contractStartDtStr,jdbcType=VARCHAR}]]>
</if>
<if test="entity.contractEndDtStr != null and entity.contractEndDtStr != ''">
<![CDATA[ and DATE_FORMAT(contract_end_dt, '%Y-%m-%d') <= #{entity.contractEndDtStr,jdbcType=VARCHAR}]]>
</if>
<if test="entity.ownIds != null and entity.ownIds.size > 0">
<![CDATA[ and contract_own_id in]]>
<foreach collection="entity.ownIds" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="entity.supplierIds != null and entity.supplierIds.size > 0">
<![CDATA[ and contract_supplier_id in]]>
<foreach collection="entity.supplierIds" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>

原文地址:https://www.cnblogs.com/whb11/p/6126221.html