微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mapper.xml如何在foreach中处理多条件逻辑

如何解决mapper.xml如何在foreach中处理多条件逻辑

我有手术。我需要比较数据库中的开始时间和结束时间。现在,我需要编写一个循环来判断日期列表。这是现有单日验证的逻辑。我应该如何编写foreach来判断dateList

SELECT t_rese_.* 
FROM reserve t_rese_
WHERE 1=1
<if test="entity.meetingRoomId != null and entity.meetingRoomId != ''">
AND t_rese_.meeting_room_id = #{entity.meetingRoomId}
</if>
AND (t_rese_.free_time is NULL or t_rese_.free_time = '1971-01-01 00:00:00')
AND t_rese_.is_delete = 0
<if test="entity.startDate != null and entity.endDate != null">
AND
((CONCAT(t_rese_.start_date,' ',t_rese_.start_time) &gt;= DATE_FORMAT(#{entity.startDate},'%Y-%m-%d %H:%i:%s')
AND
CONCAT(t_rese_.start_date,t_rese_.start_time) &lt; DATE_FORMAT(#{entity.endDate},'%Y-%m-%d %H:%i:%s') )
OR
(CONCAT(t_rese_.end_date,t_rese_.end_time) &gt; DATE_FORMAT(#{entity.startDate},'%Y-%m-%d %H:%i:%s')
AND
CONCAT(t_rese_.end_date,t_rese_.end_time) &lt;= DATE_FORMAT(#{entity.endDate},'%Y-%m-%d %H:%i:%s') )
OR
(CONCAT(t_rese_.start_date,t_rese_.start_time) &lt;= DATE_FORMAT(#{entity.startDate},t_rese_.end_time) &gt;= DATE_FORMAT(#{entity.endDate},'%Y-%m-%d %H:%i:%s') ))
</if>
ORDER BY CONCAT(t_rese_.start_date,t_rese_.start_time) ASC

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。