日期:2014-05-16  浏览次数:20319 次

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中的字符流。