MyBatis well-formed报错

it2022-05-07  33

nested exception is 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.

 

这是因为mybatis的mapper文件是xml格式的,所以不允许出现类似“>”这样的字符,解决方案如下:

 

第一种方法:

使用转义字符把>和<替换掉,然后就没有问题了。

例如 SELECT * FROM test WHERE  start_date  <= CURRENT_DATE AND end_date >= CURRENT_DATE

 

附:XML转义字符

 

                     <                                 

                     <

                     小于号                                           

                     >

                     >                                      

                     大于号

                     &

                     &

                     和

                     '

                     ’

                     单引号

                     "

                     "

                     双引号

 

 

第二种方法:

因为这个是xml格式的,所以可以使用<![CDATA[  ]]>符号进行说明,将此类符号不进行解析  你的可以写成这个:  mapper文件示例代码

 

<![CDATA[ when min(starttime)<='12:00' and max(endtime)<='12:00' ]]>

说明:此篇博客整理转载自onyas的博客mybatis在xml文件中处理大于号小于号的方法


最新回复(0)