zoukankan      html  css  js  c++  java
  • ORACLE数据库查询出现“元素内容必须由格式正确的字符数据或标记组成”错误解决办法

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

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

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

    当时我的代码如下

    <select id="selectCountToBeforeNight" resultMap="WeidufenxiMap">
    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 id="selectCountToBeforeNight" resultMap="WeidufenxiMap">
    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>

    问题解决。

  • 相关阅读:
    批处理禁止指定的IE的加载项
    理解一个简单的网页请求过程
    求两条直线(线段)的交点
    hdu 3635 Dragon Balls (并查集)
    uva 12452 Plants vs. Zombies HD SP (树DP)
    ural 1500 Pass Licenses (状态压缩+dfs)
    sgu 321 The Spy Network (dfs+贪心)
    poj3535 A+B (大数加法)
    zkw线段树专题
    ZOJ 2671 Cryptography 矩阵乘法+线段树
  • 原文地址:https://www.cnblogs.com/ll316/p/7798922.html
Copyright © 2011-2022 走看看