针对@Select({“<script></script>“})中大于小于号转义问题

使用场景:

@Select({“<script>
+" 0 \">" +
 "  AND to_char(a.crt_time, 'YYYY-MM-DD') >= #{startDt} \n" +
 "" +
 " 0 \">" +
 "  AND to_char(a.crt_time, 'YYYY-MM-DD') <= #{endDt} \n" +
 "" +
</script>“})

在这种场景下,直接使用>或<出现“Caused by: org.xml.sax.SAXParseException: 元素内容必须由格式正确的字符数据或标记组成。”的错误,需要将>或< 进行转义。

显示结果 实体名称

实体编号

描述

< < < 小于号
> > > 大于号
小于等于号
大于等于号
& & & 和号
" " " 引号
' ' ' 单引号(英文、IE不支持)
左双引号
右双引号
左单引号
右单引号
| | 竖线Vertical bar

虽然有>=和<= 的转义,但是我在实际使用过程中,会出现“”的错误,后来使用>=和<=解决问题。

在@Select注解中采用script标签包围拼接SQL语句时不能在标签里有>大于或<小于符号出现,但是=好像是可以出现的。

你可能感兴趣的:(java,java,mybatis)