mybatis在读取oracle的clob类型字段值时,长度未超过限制的话,使用to_char(clob字段)进
ORA-00932,数据类型不一致:应为-,却获得CLOB
行转换读取是没啥问题的,但是一旦存储的字段长度超出限制,就会报错,
Oracle Error : ORA-22835: Buffer too small for CLOB to CHAR or BLOB to RAW conversion (actual: 3000, maximum: 4000)
有几个解决方式:
1.截取,采用substring,只截取字段前4000字节,这样不会再报错,但是明显丢弃了后面的数据
2.在mybatis的resultMap 上指定类型
<resultMap column="introduce" property="introduce" javaType="java.lang.String" jdbcType="CLOB"></resultMap>
再一个就是一定不要在select语句中添加distinct关键字,这样会出现如下异常
ORA-00932,数据类型不一致:应为-,却获得CLOB
可以先写个子查询,然后再查询clob相关字段!