不建议将超长的字段保存数据库,对于必须要求保存在数据的场景,分享一个解决方法(基于Mybatis持久层开发);
解决方法:通过声明变量的方式将数据赋予CLOB变量,通过引用变量进行插入。
Mybatis的XML写法如下:
DECLARE
<if test="initData != null and initData != ''">
INIT_DATA_CLOB_DATA CLOB := #{initData, jdbcType = CLOB};
</if>
<if test="finalData != null and finalData != ''">
FINAL_DATA_CLOB_DATA CLOB := #{finalData, jdbcType = CLOB};
</if>
<if test="formContent != null and formContent != ''">
FORM_CONTENT_DATA CLOB := #{formContent, jdbcType = CLOB};
</if>
BEGIN
UPDATE TTRANSFER_MOBILE_LOG
<set>
<if test="initData != null and initData != ''">
INIT_DATA_CLOB = INIT_DATA_CLOB_DATA,
</if>
<if test="finalData != null and finalData != ''">
FINAL_DATA_CLOB = FINAL_DATA_CLOB_DATA,
</if>
<if test="formContent != null and formContent != ''">
FORM_CONTENT = FORM_CONTENT_DATA,
</if>
</set>
WHERE LOG_ID = #{id};
END;
这里仅提供修改的示例,插入只需要将修改语句改为插入语句即可;