Мне нужно получить содержимое BLOB и где-нибудь его сохранить (допустим, это файл). Контент BLOB может быть большим, поэтому я хочу использовать для этого потоки. На странице MyBatis 'Configuration XML' находится список доступных обработчиков типов. Я обнаружил, что есть BlobInputStreamTypeHandler, который должен позволить мне получить InputStream, и это именно то, что мне нужно. Поэтому я указал resultType="java.io.InputStream"
для своего запроса в конфигурации xml. Однако я получаю java.io.IOException: Closed Connection
, когда пытаюсь прочитать данные из InputStream, которые у меня есть после выполнения метода «чтение из БД». Я попытался понять это и обнаружил, что класс org.apache.ibatis.executor.resultset.DefaultResultSetHandler
закрывает resultSet , и это делает поток нечитаемым.
Я получаю такое же исключение, когда пытаюсь использовать ClobReaderTypeHandler для получения Reader из CLOB.
Я использую mybatis версии 3.5.4.
Как мне получить Reader / InputStream из столбца CLOB или BLOB? Это ошибка или я что-то делаю не так?