mybatis批量插入clob,ORA-01461-仅能绑定要插入LONG列的LONG值
2017-09-08 16:51
726 查看
今天用MyBatis批量插入数据到Oracle中,其中有字段的类型为Clob,出现错误:ORA-01461:仅能绑定要插入LONG列的LONG值
Xml中SQL语句如下:
<insert id="batchInsert" parameterType="java.util.List">
insert into tableName (ID, LAST_MODIFIED, content)
<foreach collection="list" item="item" index="index" close=")" open="(" separator="union">
select #{item.id},to_date(#{item.lastModified},'YYYY-MM-DD HH24:MI:SS') ,#{item.content} from dual
</foreach>
</insert>
其中content字段在数据库中是Clob类型。
在网上查了很久,有可能问题是出现在当从dual中取数据时,会将clob对象的字段转为Long型
最后的解决方法用到了Begin和end语法
Xml中SQL语句如下:
<insert id="batchInsert" parameterType="java.util.List">
insert into tableName (ID, LAST_MODIFIED, content)
<foreach collection="list" item="item" index="index" close=")" open="(" separator="union">
select #{item.id},to_date(#{item.lastModified},'YYYY-MM-DD HH24:MI:SS') ,#{item.content} from dual
</foreach>
</insert>
其中content字段在数据库中是Clob类型。
在网上查了很久,有可能问题是出现在当从dual中取数据时,会将clob对象的字段转为Long型
最后的解决方法用到了Begin和end语法
<insert id="batchInsert" parameterType="java.util.List"> begin <foreach collection="list" item="item" index="index" separator=";"> insert into tableName(ID, LAST_MODIFIED, content) values( #{item.id},to_date(#{item.lastModified},'YYYY-MM-DD HH24:MI:SS'),#{item.content}) </foreach> ;end; </insert>成功插入了多条包含Clob的数据
相关文章推荐
- mybatis批量插入clob,ORA-01461-仅能绑定要插入LONG列的LONG值
- Oracle中Clob类型处理解析(NHibernate long值绑定long列,或者是直接oraclecommand的插入的时候报错都能用,ORA-01461:仅可以插入LONG列的LONG值赋值
- 转----Oracle中Clob类型处理解析(NHibernate long值绑定long列,或者是直接oraclecommand的插入的时候报错都可以用,ORA-01461:仅可以插入LONG列的LONG值赋值)
- mybatis + oracle insert clob,出现ORA-01461:仅能绑定要插入LONG列的LONG值
- (Clob的写入和读取-java)更新数据库报错:SQL Error: 1461, SQLState: 72000 ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值
- java.sql.SQLException: ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值;ORACLE数据库异常解决办法
- ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值 数据库插入的数据长度过长引起无法插入数据
- ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值
- 出现ORA-01461:仅能绑定要插入LONG列的LONG值 mybatis+orcale
- 出现ORA-01461:仅能绑定要插入LONG列的LONG值 mybatis+orcale
- ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值
- ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值
- 出现ORA-01461:仅能绑定要插入LONG列的LONG值 mybatis+orcale
- ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值
- 出现ORA-01461:仅能绑定要插入LONG列的LONG值 mybatis+orcale
- ORA-01461:仅能绑定要插入 LONG 列的 LONG 值
- ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值
- 出现ORA-01461:仅能绑定要插入LONG列的LONG值 mybatis+orcale
- ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值
- ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值