После нескольких дней я нашел это решение:
Мой набор результатов из запроса содержит строку (561) с нулевыми значениями в столбце. Это не должно быть проблемой, поскольку у меня могут быть нулевые значения в столбцах, которые я выбрал. В этом случае столбец code
имеет значение null
в строке 561. При извлечении записей с помощью selectCursor
(ленивый метод извлечения данных) mybatis считает, что это конец записи, когда все столбцы в выбранной строке равны нулю.
MyBatis по умолчанию возвращает значение NULL, если все столбцы возвращаемой строки имеют значение NULL. Когда этот параметр включен, MyBatis возвращает пустой экземпляр. Обратите внимание, что он также применяется к вложенным результатам (т. Е. К объединению и ассоциации). Поскольку: 3.4.2 https://mybatis.org/mybatis-3/configuration.html
Однако, вы не столкнетесь с этой проблемой, если будете использовать selectList
, поскольку все записи извлекаются одновременно, а курсор не ' Продолжайте проверять, как выглядят следующие извлеченные записи.
Следовательно, решение состоит в том, чтобы включить приведенную ниже настройку в конфигурацию mybatis. xml
<setting name="returnInstanceForEmptyRow" value="true" />