mybatis中blob字段讀取的方法是什么

小億
228
2024-03-29 18:51:59

在 MyBatis 中,如果要讀取數(shù)據(jù)庫(kù)中的 Blob 字段,可以使用 ResultHandler 接口來(lái)處理,代碼示例如下:

public class BlobResultHandler implements ResultHandler {
    private byte[] content;

    @Override
    public void handleResult(ResultContext context) {
        byte[] blobData = context.getResultObjectAs(byte[].class);
        if (blobData != null) {
            content = blobData;
        }
    }

    public byte[] getContent() {
        return content;
    }
}

然后,在 Mapper 接口中定義方法來(lái)讀取 Blob 字段:

public interface MyMapper {
    @Select("SELECT blob_column FROM my_table WHERE id = #{id}")
    void getBlobData(@Param("id") Long id, BlobResultHandler resultHandler);
}

調(diào)用方式如下:

BlobResultHandler resultHandler = new BlobResultHandler();
myMapper.getBlobData(1L, resultHandler);
byte[] blobData = resultHandler.getContent();

通過(guò)調(diào)用 getBlobData 方法,可以將 Blob 字段的內(nèi)容讀取到 byte 數(shù)組中。

0