mybatis保存CLOB类型到oracle数据库

在oracle中使用varchar2类型存储字符串时,发现存储的最大长度就是4000字符,再长就会报错。

使用clob类型,可以存储4g内容,而且mybatis可以自动解析clob类型,只需在写insert和update语句是,将

clob字段的数据类型设为:jdbcType=CLOB。至于javabean中,clob字段可以用String类型进行接收。

但是clob字段是不能用在常规的where条件中,例如=号,like等,如果需要进行模糊查询,可以使用下面语句

select * from t where dbms_lob.instr(t.clob字段名,模糊查询的内容,1,1) > 0。

<update id="updateByPrimaryKey" parameterType="cn.wlw.mgt.entity.WmsInPool">  
    update WMS_IN_POOL  
    set BIG_DATA = #{bigDdata,jdbcType=CLOB},  
      UPDATE_TIME = #{updateTime,jdbcType=TIMESTAMP}  
    where POOL_PK_NO = #{poolPkNo,jdbcType=DECIMAL}  
  </update>

使用连接符(||)向oracle中类型为CLOB的列追加内容时,传入长字符串会报错,目前没有找到好的解决方法,如果使用追加功能可以将传入的字符串长度改小,1000个字符可以拼接。

猜你喜欢

转载自blog.csdn.net/yan3013216087/article/details/79013923