项目开发时,有时候需要把一些小的图片直接放到数据库里,比如用户的头像。这时候就要用到blob字段。今天小博老师就以MySQL为例,为大家讲解下如何使用Mybatis操作MySQL的blob类型字段。
MySQL的有四种blob类型:
类型大小(单位:字节)
TinyBlob最大255
Blob最大65K
MediumBlob最大16M
LongBlob最大4G
MySQL中的这四种blob类型可以映射到mybatis中javabean的byte[]类型,需要使用mybatis的org.apache.ibatis.type.BlobTypeHandler 类型转换处理器。
我们结合案例来看一下如何向blob字段写入数据,首先假设我们数据库表结构如下:
faceImg是一个longblob类型。
User bean类对应的字段设置为byte[]:
Mapper xml的映射关系如下:
测试代码:
需要注意的就是ResultMap映射时,需要指定typeHandler。另外不同的blob类型,对应的容量不一样,否则会出现错误。
读取类似,这里就不再赘述。