遇到了使用mybatis向oracle数据库插入数据异常的问题,

具体的报错如下:org.springframework.jdbc.UncategorizedSQLException:
### Error updating database.  Cause: java.sql.SQLException: ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值

mybatis的脚本如下:

<insert id="insertInfos" parameterType="java.util.List">
        INSERT INTO
        INFO(
        RECORD_ID,
        CONTENT
        )
        <foreach close=")" collection="list" item="item" index="index"
            open="(" separator="union">
            select
            #{item.recordId,jdbcType=VARCHAR},
            #{item.content,jdbcType=VARCHAR}
            from dual
        </foreach>
    </insert>

后面做了很多测试分析,确认是因为参数List过长,导致此问题,后面修改mybatis的脚本,

在最外层使用BEGIN、END包裹,然后使用foreach循环并在循环完成具体的数据库字段映射;

如下:

<insert id="insertInfos" parameterType="java.util.List">
        BEGIN
        <foreach close="" collection="list" item="item" index="index"
            open="" separator=";">
            INSERT INTO
            INFO(
            RECORD_ID,
            REQ_CONTENT
            )
            VALUES(
            #{item.recordId,jdbcType=VARCHAR},
            #{item.rspContent,jdbcType=VARCHAR}
            )
        </foreach>
        ;END;
    </insert>

注意在后面可以正确使用的脚本中,separator=";"  这里的分号不可以去掉的!

转载于:https://www.cnblogs.com/widget90/p/9075735.html

使用mybatis向oracle数据库插入数据异常相关推荐

  1. 在Linux中通过shell脚本向oracle数据库插入数据

    通过shell脚本向oracle数据库插入数据 思路 实现 shell脚本 数据文件 测试 思路 如何通过shell脚本更新数据库数据?要解决这个问题,首先,我们需要在脑中回忆一下我们通常是如何更新数 ...

  2. mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法

    mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法 1.先查看库.表.表字符字段的编码格式.MySQL默认的库和表的字符编码都是latin1,而我们一般需要使用 utf8 //先查看 ...

  3. MyBatis在Oracle中插入数据并返回主键的问题解决

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 前言:我早期用过这个方法,但是返回的依旧是影响行数,不是主键. 只是这种写法可以达到我要的效果: 用 ...

  4. oci连接mysql_OCILIB 连接Oracle数据库——插入数据

    二.进阶教程 参看官方文档实例,有详细的说明,包括:查询获取数据.绑定向量.数据库连接池.12c隐式结果集.使用Oracle对象和数据库通知等例子.这里只做一个最简单的插入数据演示. 1.简单的封装 ...

  5. oracle xe 乱码_解决关于:Oracle数据库 插入数据中文乱码 显示问号???

    ABP(现代ASP.NET样板开发框架)系列之19.ABP应用层--审计日志 点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之19.ABP应用层--审计日志 AB ...

  6. oracle 数据导入不成功,node.js往oracle数据库插入数据失败

    源码: var oracledb = require('oracledb'); oracledb.getConnection({ user: "hr", password: &qu ...

  7. Mybatis向Oracle数据库写数据时报错:无效的列类型1111

    1.出现这种报错最常见就是将null值插入数据库而未指定jdbcType.MySQL下直接插入null值时,在该字段允许为空时是不会有问题,Oracle就不行,需要显式指定jdbcType: #{up ...

  8. mybatis操作Oracle数据库批量插入与更新、运行注意事项、属性含义

    一.项目需求 针对将近300万用户的用电数据进行统计分析,将结果更新保存Oracle数据库.我需要往一个表里面插入数据,数据量总计在500万条左右.一条一条插入的话非常慢,2万条数据近20分钟,后面就 ...

  9. oracle insert汉字出错,Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名...

    本文主要向大家介绍了Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. Oracle数据库,用 ...

最新文章

  1. 关于box2d相关学习教程记录一下
  2. ldd -r xxx.so命令的重要作用------见招拆招地解决缺库问题(undefined symbol)
  3. VMware workstation虚拟机不能联网解决方法
  4. iconv文件编码判断转换
  5. Spring Boot 2.0 新特性
  6. postman 使用_Postman使用方法
  7. drupal 7在一个form新增或者修改一个字段
  8. python教材答案第四章_python核心编程课后习题解答第四章
  9. Java开发全套学习!java微服务网关
  10. Makefile教程一
  11. error LNK2001的一些原因
  12. 全国最大直男论坛的性感女神翻车了,网友:乔碧萝第二
  13. 席位分配问题——惯例Q值法和d'hondt法的MATLAB程序
  14. java:编写一个求平方的窗体
  15. PS CS4 序列号永久使用
  16. 别人都在这个春暖花开的端午节吃粽子,而我在踏青学springboot数据持久化
  17. Redis主从搭建(哨兵模式),springboot整合redis主从
  18. vulnhub靶场GoldenEye靶场
  19. 笔记本外接显示器卡顿解决方案
  20. Kubernetes:Pod

热门文章

  1. 使用Fork/Join框架优化归并排序
  2. kalman滤波的解释
  3. pointPolygonTest函数
  4. 决策树c语言程序代码,R C5.0 决策树c50代码,名为 exit 1_r_开发99编程知识库
  5. Linux鼠标滚轮不是滑动页面而是翻历史命令行
  6. matlab之矩阵基础应用
  7. img文件解包工具_使用tar归档命令,就不怕文件多!
  8. win8音频服务器未响应,大神为你详解win8系统右键点击文件提示“未响应”的解决教程...
  9. 无法载入增效工具_作业大队工具车间利用修旧赚“钱”
  10. 【画出漂亮的电路图】CircuiTikZ库学习第一天