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 (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...