mybatis + oracle insert clob,出现ORA-01461:仅能绑定要插入LONG列的LONG值

Posted 君子笑而不语

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mybatis + oracle insert clob,出现ORA-01461:仅能绑定要插入LONG列的LONG值相关的知识,希望对你有一定的参考价值。

在网上查了很久,有可能问题是出现在当从dual中取数据时,会将clob对象的字段转为Long型

最后的解决方法用到了Begin和end语法:

1.用到begin 和end

2.用到insert into value()语法

不能用insert into select from dual (union all)语法

3.参数,指定 jdbcType=CLOB 类型

 <insert id="batchInsert" parameterType="java.util.List">
    begin
    <foreach collection="list" item="item" index="index" separator=";">
       insert into tableName(ID, content) 
       values( #{item.id},#{item.content,jdbcType=CLOB})
    </foreach> 
    ;end;
  </insert>

 

以上是关于mybatis + oracle insert clob,出现ORA-01461:仅能绑定要插入LONG列的LONG值的主要内容,如果未能解决你的问题,请参考以下文章

mybatis中(Oracle)关于insert时主键自动加1的使用方法

Mybatis 怎么返回insert插入的主键

mybatis + oracle insert clob,出现ORA-01461:仅能绑定要插入LONG列的LONG值

Mybatis实现oracle批量插入及分页查询

mybatis insert 返回主键 的before 和after的区别

MyBatis 返回insert操作主键