代码之家  ›  专栏  ›  技术社区  ›  user6048894

mybatis中的rownum异常

  •  2
  • user6048894  · 技术社区  · 8 年前

    下面是我在mybatis mapper xml中使用的sql查询。

    <select id="getData"   fetchSize="30" resultType="java.util.HashMap" >
                select * from table
                where module='AB'
                and rownum < 15
    </select>
    

    我在使用rownum时遇到以下异常:

     Error parsing SQL Mapper Configuration. Cause: org.apache.ibatis.builder.BuilderException: Error creating document instance.  Cause: org.xml.sax.SAXParseException; lineNumber: 130; columnNumber: 16; The content of elements must consist of well-formed character data or markup.
    

    以下是我尝试过的事情:

    ROWNUM&lt;=15  AND <![CDATA[ ROWNUM <= 15 ]]>
    

    但它仍然不起作用。

    2 回复  |  直到 8 年前
        1
  •  3
  •   haihui tshepo    8 年前

    试试这个:

    <select id="getData" fetchSize="30" resultType="java.util.HashMap" >
                select * from table
                where module='AB'
                <![CDATA[ AND ROWNUM <= 15 ]]>
    </select>
    

    ROWNUM &lt;= 15 (后面有空格 ROWNUM 15之前)。

        2
  •  1
  •   Community Egal    7 年前

    你确定你已经试过了 &lt; <![CDATA[ ]]> 在所有正确的地方?(看起来这是一个很大的(r)文件,可能有多个错误)。

    由于您给出的代码示例没有 = 在你尝试的东西中 = 。您的错误在文件的第130行第16列,我们只看到5行和 < 似乎不在第16列中。

    您可以尝试使用: http://www.validome.org/xml/ 看看整个配置文件是否有效?

    您还可以阅读有关堆栈溢出的另一个问题的更多信息: https://stackoverflow.com/a/29136039/244748