解决Oracle+Mybatis批量插入报错:SQL 命令未正确结束
Mybatis批量插入需要foreach元素。foreach元素有以下主要属性:
(1)item:集合中每一个元素进行迭代时的别名。
(2)index:指定一个名字,用于表示在迭代过程中,每次迭代到的位置。
(3)collection:根据传入的参数值确定。
(4)open:表示该语句以什么开始。
(5)separator:表示在每次进行迭代之间以什么符号作为分隔 符。
(6)close:表示以什么结束。
首先,错误的xml配置文件如下:
insert into "sys_user_role" ( "user_id", "role_id" )values ( #{userId}, #{item} )
如果如上这样写就会报错:SQL 命令未正确结束。
经过修改后正确的xml配置文件如下:
insert into "sys_user_role" ( "user_id", "role_id" ) SELECT #{userId}, #{item} FROM dual
根据上下配置文件,需要注意三个地方:
(1)需要取掉values
(2)separator属性值改为UNION ALL。因为在oracle中用insert into xxx values (xxx,xxx),(xxx,xxx) 这种语法是通不过的
(3)foreach标签中需要取掉括号,加入select …from dual.
解决Oracle+Mybatis批量插入报错:SQL 命令未正确结束相关推荐
- Mybatis 批量插入报ORA-00933: SQL 命令未正确结束
Mybatis 批量插入报ORA-00933: SQL 命令未正确结束 错误出现的场景是这样的,将多个月份的1000条数据分别插入到各月份表中. MySQL中,批量插入数据到表,会在一定程度提高效率. ...
- 关于加了union报错sql命令未正确结束
这是一个写sql过程中遇到的小问题 已知,union上下的sql都可以单独正常运行,但是加了union后会报错sql命令为正确结束 为了方便查看union的范围还在每部分sql都用括号括起来,执行更糟 ...
- ORA-00933: SQL 命令未正确结束处理办法
问题现象:删除数据库表,oracle中出现bin$XXXXXXXXXX==$0表 ,在对其 (bin$XXXXXXXXXX==$0)删除时,报 ORA-00933: SQL 命令未正确结束 出现 ...
- 数据库批量插入Insert ALL into报错ORA-00933:SQL命令未正确结束
起因 : 批量插入数据库表报错 代码演示 : @Insert("<script> Insert ALL into table(字段1,字段2) values<foreach ...
- SSM:Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束的解决
QUESTION:SSM:Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束的解决? ANWSER: 一:问题提出: 使用S ...
- ORA-00933: SQL命令未正确结束 解决办法
1.报错内容 Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束 ; bad SQL grammar []; nested ...
- c#“ORA-00933: SQL 命令未正确结束“ 解决方法
报错:{"ORA-00933: SQL 命令未正确结束"} sql语句: `string upSql = @"update T_OCV3_PRODUCT set volt ...
- Mybatis --- ORA-00933: SQL 命令未正确结束
使用Mybatis进行update的时候报错: Error updating database. Cause: java.sql.SQLSyntaxErrorException: ORA-0093 ...
- mysql中00933错误_java.sql.SQLException: ORA-00933: SQL 命令未正确结束错误解决
在程序运行时,程序报sql错误"nested exception is java.sql.SQLException: ORA-00933: SQL 命令未正确结束",具体错误如下所 ...
最新文章
- SQL查询1064报错 [ERR] 1064 - You have an error in your SQL syntax; check the manual.......
- JS判断GridView中复选框有没有被选中
- oracle sql练习_数据分析之学习SQL
- Angular 个人深究(四)【生命周期钩子】
- java基础学习——5、HashMap实现原理
- centos 6 mysql 5.7.13 编译安装_Centos 6.5 下面 源码编译 安装 Mysql 5.7.13
- 物联网时代下,如何打造智慧新社区?
- latex 设置pdf的页边距
- 【优化预测】基于matlab贝叶斯网络优化LSTM预测【含Matlab源码 1329期】
- 【优化求解】基于matlab蚁群算法的函数优化分析【含Matlab源码 219期】
- 如何获取Android应用签名?
- java j2ee j2se_j2ee与j2se对比
- (vue)h5 通过高德地图(原生) 获取当前位置定位
- 程序员该怎么创业才比较靠谱?
- Python字符串内建函数
- A53系统移植、内核、文件系统
- 怎么修复multisim_【血的教训】手把手教你修复崩溃的Windows系统
- WebRTC学习笔记七 pion/webrtc
- 「Gitee篇」如何用Git平台账号登录建木CI
- 【PC工具】chrome谷歌浏览器各种版本,最好用的浏览器没有之一。低调使用福利...
热门文章
- Dockerfile 深入理解
- Android自定义控件-仿淘宝ios客户端天猫商品详情界面动效
- 【Mysql】更新多个数据库下同名表同名字段的长度
- c语言生小牛问题算法,数据结构算法:大牛生小牛的算法问题
- Starling Tweens
- 2020 AI人才报告:每年74%人才需求增长,创业公司平均薪水约20万美元
- 九州牧云传鸿蒙区,九州海上牧云记珠中游忆全npc位置汇总
- 虹科方案 | 使用频谱分析仪进行PtP(点对点)天线对准
- 互动白板 + 动态 PPT + RTC + 回放 Demo
- 408知识框架总结——计算机组成原理