使用mybatis向oracle数据库插入数据异常
遇到了使用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数据库插入数据异常相关推荐
- 在Linux中通过shell脚本向oracle数据库插入数据
通过shell脚本向oracle数据库插入数据 思路 实现 shell脚本 数据文件 测试 思路 如何通过shell脚本更新数据库数据?要解决这个问题,首先,我们需要在脑中回忆一下我们通常是如何更新数 ...
- mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法
mybatis向mysql数据库插入数据时,中文乱码显示为?解决方法 1.先查看库.表.表字符字段的编码格式.MySQL默认的库和表的字符编码都是latin1,而我们一般需要使用 utf8 //先查看 ...
- MyBatis在Oracle中插入数据并返回主键的问题解决
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 前言:我早期用过这个方法,但是返回的依旧是影响行数,不是主键. 只是这种写法可以达到我要的效果: 用 ...
- oci连接mysql_OCILIB 连接Oracle数据库——插入数据
二.进阶教程 参看官方文档实例,有详细的说明,包括:查询获取数据.绑定向量.数据库连接池.12c隐式结果集.使用Oracle对象和数据库通知等例子.这里只做一个最简单的插入数据演示. 1.简单的封装 ...
- oracle xe 乱码_解决关于:Oracle数据库 插入数据中文乱码 显示问号???
ABP(现代ASP.NET样板开发框架)系列之19.ABP应用层--审计日志 点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之19.ABP应用层--审计日志 AB ...
- oracle 数据导入不成功,node.js往oracle数据库插入数据失败
源码: var oracledb = require('oracledb'); oracledb.getConnection({ user: "hr", password: &qu ...
- Mybatis向Oracle数据库写数据时报错:无效的列类型1111
1.出现这种报错最常见就是将null值插入数据库而未指定jdbcType.MySQL下直接插入null值时,在该字段允许为空时是不会有问题,Oracle就不行,需要显式指定jdbcType: #{up ...
- mybatis操作Oracle数据库批量插入与更新、运行注意事项、属性含义
一.项目需求 针对将近300万用户的用电数据进行统计分析,将结果更新保存Oracle数据库.我需要往一个表里面插入数据,数据量总计在500万条左右.一条一条插入的话非常慢,2万条数据近20分钟,后面就 ...
- oracle insert汉字出错,Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名...
本文主要向大家介绍了Oracle数据库之Oracle批量插入数据SQL语句太长出错:无效的主机/绑定变量名,通过具体的内容向大家展现,希望对大家学习Oracle数据库有所帮助. Oracle数据库,用 ...
最新文章
- 关于box2d相关学习教程记录一下
- ldd -r xxx.so命令的重要作用------见招拆招地解决缺库问题(undefined symbol)
- VMware workstation虚拟机不能联网解决方法
- iconv文件编码判断转换
- Spring Boot 2.0 新特性
- postman 使用_Postman使用方法
- drupal 7在一个form新增或者修改一个字段
- python教材答案第四章_python核心编程课后习题解答第四章
- Java开发全套学习!java微服务网关
- Makefile教程一
- error LNK2001的一些原因
- 全国最大直男论坛的性感女神翻车了,网友:乔碧萝第二
- 席位分配问题——惯例Q值法和d'hondt法的MATLAB程序
- java:编写一个求平方的窗体
- PS CS4 序列号永久使用
- 别人都在这个春暖花开的端午节吃粽子,而我在踏青学springboot数据持久化
- Redis主从搭建(哨兵模式),springboot整合redis主从
- vulnhub靶场GoldenEye靶场
- 笔记本外接显示器卡顿解决方案
- Kubernetes:Pod
热门文章
- 使用Fork/Join框架优化归并排序
- kalman滤波的解释
- pointPolygonTest函数
- 决策树c语言程序代码,R C5.0 决策树c50代码,名为 exit 1_r_开发99编程知识库
- Linux鼠标滚轮不是滑动页面而是翻历史命令行
- matlab之矩阵基础应用
- img文件解包工具_使用tar归档命令,就不怕文件多!
- win8音频服务器未响应,大神为你详解win8系统右键点击文件提示“未响应”的解决教程...
- 无法载入增效工具_作业大队工具车间利用修旧赚“钱”
- 【画出漂亮的电路图】CircuiTikZ库学习第一天