mybatis xml中是sql语句报错: Error creating document instance. Cause: org.xml.sax.SAXParseException: The


最近项目折腾了老半天,找了资料才知道是这么回事。。。

因为语句中有一个小于号“<”,在XML中,会被当成一个页面元素来解析,不会处理为mysql的SQL语句的组成部分,修改如下:


1、在xml的sql语句中,不能直接用大于号、小于号要用转义字符

如果用小于号会报错误如下:

org.apache.ibatis.builder.BuilderException: Error creating document instance.  Cause: org.xml.sax.SAXParseException: The content of elements must consist of well-formed character data or markup.


解决办法:

1,转义字符

                     <                                 

                     <

                     小于号                                           

                     >

                     >                                      

                     大于号

                     &

                     &

                     和

                     '

                     ’

                     单引号

                     "

                     "

                     双引号

例如: state <= 3 则改成  state <= 3


2、使用 ]]>标记


注意: ]]>标记的sql语句中的 等标签不会被解析

                  state <= 3
          ]]>

这样,将会把SQL语句中与XML页面元素相同的元素屏蔽,是的XML不将其解析为XML的元素,从而生成正确的SQL语句。



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