mapper文件中有时涉及到比较的问题,比如按时间范围查询,小于号大于号会造成冲突
<if test="uploadStartTime != null and uploadStartTime != ''"> and tupr.upload_time >= #{uploadStartTime} </if>
<if test="uploadEndTime != null and uploadEndTime != ''"> and tupr.upload_time < #{uploadEndTime} </if>
这个时候可以用转义字符来替换
| 转义字符 | 符号 | 符号名 |
|---|---|---|
| < | < | 小于号 |
| > | > | 大于号 |
| & | & | 和 |
| ' | ’ | 单引号 |
| " | " | 双引号 |
<if test="uploadStartTime != null and uploadStartTime != ''"> and tupr.upload_time >= #{uploadStartTime} </if>
<if test="uploadEndTime != null and uploadEndTime != ''"> and tupr.upload_time < #{uploadEndTime} </if>
如果是大于等于>=,=直接拼后面就行
>= -----> >=
解决MyBatis中时间范围查询的冲突问题
本文探讨了在MyBatis映射文件中如何处理时间范围查询时可能遇到的比较符号冲突问题。通过使用转义字符,如`&lt;`和`&gt;`来替代小于号`<`和大于号`>`,可以避免解析错误。示例代码展示了如何正确地在条件判断语句中使用这些转义字符进行时间范围的比较,确保查询的准确性。
7122

被折叠的 条评论
为什么被折叠?



