今天在Mapper.xml文件写查询语句报了个奇怪的错误

Caused by: org.apache.ibatis.builder.BuilderException: Error creating document instance.  Cause: org.xml.sax.SAXParseException; lineNumber: 150; columnNumber: 44; 元素内容必须由格式正确的字符数据或标记组成。

元素内容必须由格式正确的字符数据或标记组成

当时我的代码如下

<select >
SELECT * from ( select T2.SSLB as mc, count(SSLB) AS num from QB_T_SSRY_YJXX T1, QB_T_SSRY_JBXX T2
where T1.SFZH = T2.SFZH and T2.SSLB !='105'
<!-- AND #{start,jdbcType=TIMESTAMP} <![CDATA[<=]]> T1.YJSJ and T1.YJSJ <![CDATA[<=]]> #{end,jdbcType=TIMESTAMP} -->
GROUP BY T2.SSLB
ORDER BY num DESC) where ROWNUM <= 8
</select>

后来来网上查了下发现

 

原因 : Mapper.xml 文件里  < (小于)号 ,   >(大于)号 ,会被认为是括号,需要额外注意,

 

解决办法 : 将 < 号换成  &lt;     > 号 换成&gt; 

 

<select >
SELECT * from ( select T2.SSLB as mc, count(SSLB) AS num from QB_T_SSRY_YJXX T1, QB_T_SSRY_JBXX T2
where T1.SFZH = T2.SFZH and T2.SSLB !='105'
<!-- AND #{start,jdbcType=TIMESTAMP} <![CDATA[<=]]> T1.YJSJ and T1.YJSJ <![CDATA[<=]]> #{end,jdbcType=TIMESTAMP} -->
GROUP BY T2.SSLB
ORDER BY num DESC) where ROWNUM &lt;= 8
</select>

问题解决。

相关文章:

  • 2022-12-23
  • 2022-01-06
  • 2022-12-23
  • 2021-06-03
  • 2022-12-23
  • 2021-12-20
  • 2022-02-11
  • 2021-11-23
猜你喜欢
  • 2022-12-23
  • 2021-11-20
  • 2022-12-23
  • 2021-04-13
  • 2021-12-10
  • 2021-08-01
  • 2022-12-23
相关资源
相似解决方案