Исключение с 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<=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 <= 15
(с пробелами после ROWNUM
и до 15).
Вы уверены, что пробовали <
или <![CDATA[ ]]>
на всех нужных местах? (кажется, это большой (r) файл с возможно множественными ошибками).
Поскольку приведенный вами пример кода не содержит =
и в вещах, которые вы пробовали, вы добавляете =
, И ваша ошибка в строке 130 столбца 16 вашего файла, и мы видим только 5 строк и <
кажется, не в колонке 16.
Вы можете попробовать использовать: http://www.validome.org/xml/ и посмотреть, является ли весь файл конфигурации действительным?
Вы также можете прочитать больше об этом на другой вопрос о переполнении стека: /questions/42052044/mybatis-problema-menshe-chem-v-izbrannyih-annotatsiyah/42052053#42052053