会议室预约时,判断能否被预约,即查询是否已经有预约记录,存在不能被预约。
s,e;表示已经预约的开始结束时间;
ns,ne,表示表单提交的预约时间;
只需要(ns,ne)与(s,e)区间没有交集,可以被预约;
ns<s,ne<s; 没有交集
ns<s,ne>s;有交集
s<=ns <e;有交集
ns>=e;没有交集
数据库中查询有交集,大于0;存在交集无法预约;
<select id="selectBuiMeetingRecordExist" parameterType="BuiMeetingRecord" resultType="java.lang.Integer">
select count(*) from omp_bui_meeting_record
where bui_id = #{buiId} and
( #{startTime} < start_time and start_time < #{endTime})
or
(start_time <= #{startTime} and #{startTime} < end_time)
</select>
mybatis中比较运算符需要转义