Исключение с rownum в mybatis

Ниже приведен мой sql-запрос, который используется в mybatis mapper xml.

<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 ответа

Решение

Попробуй это:

<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).

Вы уверены, что пробовали &lt; или <![CDATA[ ]]> на всех нужных местах? (кажется, это большой (r) файл с возможно множественными ошибками).

Поскольку приведенный вами пример кода не содержит = и в вещах, которые вы пробовали, вы добавляете =, И ваша ошибка в строке 130 столбца 16 вашего файла, и мы видим только 5 строк и < кажется, не в колонке 16.

Вы можете попробовать использовать: http://www.validome.org/xml/ и посмотреть, является ли весь файл конфигурации действительным?

Вы также можете прочитать больше об этом на другой вопрос о переполнении стека: /questions/42052044/mybatis-problema-menshe-chem-v-izbrannyih-annotatsiyah/42052053#42052053

Другие вопросы по тегам