Oracle中的LOB数据类型以及ibatis中处理该类型的typeHandler


一 Oracle中的LOB类型

LOB数据类型提供了BOLB、COLB、BFILE等具体数据类型,用来存储无结构大数据块,如文本、图片、图像、声音、视频等,存储最大尺寸为4G,并且可以用高效、任意、随机分段的方式来存取数据。

BOLB:常用于保存包含图片、图像的大文件、资料

COLB:常用于保存只有文本的大文件、资料

BFILE:常用于需要用操作系统文件来进行业务工作的场合,如声音、视频

二 batis配置文件的类型控制器

无论是iBatis在预处理语句中设置一个参数,还是从结果集中取出一个值时,类型处理器被用来将获取的值以合适的方式转换成Java类型,这里用的是spring中的类型转换器。

<sqlMapConfig>

 <typeHandler jdbcType="BLOB" javaType="[B" callback="org.springframework.orm.ibatis.support.BlobByteArrayTypeHandler"/>

 <typeHandler jdbcType="CLOB" javaType="java.lang.String" callback="org.springframework.orm.ibatis.support.ClobStringTypeHandler"/>

</sqlMapConfig>

BOLB对应的是二进制流,byte[]数组类型,类似于IO中的字节流,COLB对应的是文本,String类型,类似于IO中的字符流。

相关内容