当插入单字段超过4000字符的字符串到数据库时遇到oracle 字段限制问题,通过对数据库字段改为clob格式,ibatis里做相关配置,现在问题已解决。
1.插入:变量参数必须用#,这样配好javaType=java.lang.String,jdbcType=CLOB
<!-- 插入条件详情信息 -->
<insert id="saveQueryInfoData" parameterClass="com.ways.app.query.entity.InsertEntity">
insert into dm_invoice_query_info (id,typeid,time,idstr,textstr,name,userid) values (
case when (select max(id) from dm_invoice_query_info) is null then 1 else (select max(id) from dm_invoice_query_info)+1 end
,#typeId#,sysdate,#idStr,javaType=java.lang.String,jdbcType=CLOB#,#textStr,javaType=java.lang.String,jdbcType=CLOB#,#name#,#userId#
)
</insert>
2.查询:
通过ibatis里这样的配置,数据库插入时会自动转成clob,查询时自动转成string