【发布时间】:2020-08-21 17:32:27
【问题描述】:
我需要从 DB 中读取一个 blob 列,然后将其放入一个文件中,反之亦然,使用 Spring Batch。 我该怎么做? 我正在使用 Spring Batch 从 DB 中读取数据并将其放入 CSV 文件中,反之亦然,但现在我还必须管理 blob 数据类型,当它存在时,我需要使用这些数据创建一个文件。
【问题讨论】:
标签: spring spring-boot file spring-batch blob
我需要从 DB 中读取一个 blob 列,然后将其放入一个文件中,反之亦然,使用 Spring Batch。 我该怎么做? 我正在使用 Spring Batch 从 DB 中读取数据并将其放入 CSV 文件中,反之亦然,但现在我还必须管理 blob 数据类型,当它存在时,我需要使用这些数据创建一个文件。
【问题讨论】:
标签: spring spring-boot file spring-batch blob
一种方法是使用 LobHandler。您可以使用 (getBlobAsBytes) 将 blob 获取为字节并将其转换为字符串,或者使用 (getBlobAsBinaryStream) 将其转换为 BinaryStream
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;
}
}
希望对你有帮助
【讨论】:
一般你可以使用byte[]类型字段来呈现blob。它可以依赖于使用什么数据库。
【讨论】: