1.情景展示
在plsql中,可以正常执行
但是在ibatis的sqlMap文件中,报错信息如下:
2.原因分析
ibatis中 #、$ 是功能符号,用来取值的,当sql中出现这类字符时便会造成冲突,抛出异常。
如何才能将#和$当作字符使用呢?
3.解决方案
首先,我们会想到的是使用<![CDATA[]]>,但你会发现,还是会报错;
使用<![CDATA[ sql ]]>此符号内的任何文本不进行解析,直接转义;
特殊字符包括:
< <
> >
< <
> >
& &
' '
" "
正确姿势是:将两个字符当作一个字符使用。