Как обрабатывать поле blob в Spring Batch? - PullRequest
0 голосов
/ 06 мая 2020

Мне нужно прочитать столбец blob из БД и поместить его в файл, и наоборот с помощью Spring Batch. Как мне это сделать? Я использую пакет Spring для чтения данных из БД и помещения их в файл CSV и наоборот, но теперь мне нужно управлять также типом данных blob, и когда он есть, мне нужно создать один файл с этими данными.

Ответы [ 2 ]

1 голос
/ 06 мая 2020

Один из способов сделать это - использовать LobHandler . Вы можете получить свой blob-объект как байты и преобразовать его в строку с помощью ( getBlobAsBytes ) или как BinaryStream с помощью ( getBlobAsBinaryStream )

public class YourRowMapper implements RowMapper<YourObjectType> {
        @Override
        public YourObjectType mapRow(ResultSet resultSet, int i) throws SQLException {

            LobHandler lobHandler = new DefaultLobHandler();
            String value = new String(lobHandler.getBlobAsBytes(resultSet, "COLUMN_NAME"));

            return null;
        }
    }

Надеюсь, это поможет

0 голосов
/ 06 мая 2020

Обычно для представления blob можно использовать поле типа byte[]. Это может зависеть от того, какие БД используются.

...