在项目中加了个查询,没注意这个问题,结果一运行报错,说什么无法注入bean,还以为哪错了,再往上翻debug信息发现了:
Error creating document instance. Cause: org.xml.sax.SAXParseException; lineNumber: 310; columnNumber: 15; 元素内容必须由格式正确的字符数据或标记组成。
原来是SQL语句中用了大于小于符号:
AND INSTR(type,#{type,jdbcType=VARCHAR}) > 0
用转义符替换后正常运行:
AND INSTR(type,#{type,jdbcType=VARCHAR}) > 0
转义符
<
> > 大于号
& & 和
' ’ 单引号
" " 双引号
还有种解决方案,使用符号进行说明,里面的内容将不进行解析
0 ]]>