mybatis批量插入clob,ORA-01461-仅能绑定要插入LONG列的LONG值

今天用MyBatis批量插入数据到Oracle中,其中有字段的类型为Clob,出现错误:ORA-01461:仅能绑定要插入LONG列的LONG值 

Xml中SQL语句如下:

  
    insert into tableName (ID, LAST_MODIFIED, content)
     
        select #{item.id},to_date(#{item.lastModified},'YYYY-MM-DD HH24:MI:SS') ,#{item.content} from dual 
     
    

其中content字段在数据库中是Clob类型。

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

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

 
    begin
    
       insert into tableName(ID, LAST_MODIFIED, content) 
       values( #{item.id},to_date(#{item.lastModified},'YYYY-MM-DD HH24:MI:SS'),#{item.content})
     
    ;end;
  
成功插入了多条包含Clob的数据

你可能感兴趣的:(JAVA,数据库)