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 命令未正确结束相关推荐

  1. Mybatis 批量插入报ORA-00933: SQL 命令未正确结束

    Mybatis 批量插入报ORA-00933: SQL 命令未正确结束 错误出现的场景是这样的,将多个月份的1000条数据分别插入到各月份表中. MySQL中,批量插入数据到表,会在一定程度提高效率. ...

  2. 关于加了union报错sql命令未正确结束

    这是一个写sql过程中遇到的小问题 已知,union上下的sql都可以单独正常运行,但是加了union后会报错sql命令为正确结束 为了方便查看union的范围还在每部分sql都用括号括起来,执行更糟 ...

  3. ORA-00933: SQL 命令未正确结束处理办法

    问题现象:删除数据库表,oracle中出现bin$XXXXXXXXXX==$0表 ,在对其    (bin$XXXXXXXXXX==$0)删除时,报 ORA-00933: SQL 命令未正确结束 出现 ...

  4. 数据库批量插入Insert ALL into报错ORA-00933:SQL命令未正确结束

    起因 : 批量插入数据库表报错 代码演示 : @Insert("<script> Insert ALL into table(字段1,字段2) values<foreach ...

  5. SSM:Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束的解决

    QUESTION:SSM:Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束的解决? ANWSER: 一:问题提出: 使用S ...

  6. ORA-00933: SQL命令未正确结束 解决办法

    1.报错内容 Cause: java.sql.SQLSyntaxErrorException: ORA-00933: SQL 命令未正确结束 ; bad SQL grammar []; nested ...

  7. c#“ORA-00933: SQL 命令未正确结束“ 解决方法

    报错:{"ORA-00933: SQL 命令未正确结束"} sql语句: `string upSql = @"update T_OCV3_PRODUCT set volt ...

  8. Mybatis --- ORA-00933: SQL 命令未正确结束

    使用Mybatis进行update的时候报错:  Error updating database.  Cause: java.sql.SQLSyntaxErrorException: ORA-0093 ...

  9. mysql中00933错误_java.sql.SQLException: ORA-00933: SQL 命令未正确结束错误解决

    在程序运行时,程序报sql错误"nested exception is java.sql.SQLException: ORA-00933: SQL 命令未正确结束",具体错误如下所 ...

最新文章

  1. SQL查询1064报错 [ERR] 1064 - You have an error in your SQL syntax; check the manual.......
  2. JS判断GridView中复选框有没有被选中
  3. oracle sql练习_数据分析之学习SQL
  4. Angular 个人深究(四)【生命周期钩子】
  5. java基础学习——5、HashMap实现原理
  6. centos 6 mysql 5.7.13 编译安装_Centos 6.5 下面 源码编译 安装 Mysql 5.7.13
  7. 物联网时代下,如何打造智慧新社区?
  8. latex 设置pdf的页边距
  9. 【优化预测】基于matlab贝叶斯网络优化LSTM预测【含Matlab源码 1329期】
  10. 【优化求解】基于matlab蚁群算法的函数优化分析【含Matlab源码 219期】
  11. 如何获取Android应用签名?
  12. java j2ee j2se_j2ee与j2se对比
  13. (vue)h5 通过高德地图(原生) 获取当前位置定位
  14. 程序员该怎么创业才比较靠谱?
  15. Python字符串内建函数
  16. A53系统移植、内核、文件系统
  17. 怎么修复multisim_【血的教训】手把手教你修复崩溃的Windows系统
  18. WebRTC学习笔记七 pion/webrtc
  19. 「Gitee篇」如何用Git平台账号登录建木CI
  20. 【PC工具】chrome谷歌浏览器各种版本,最好用的浏览器没有之一。低调使用福利...

热门文章

  1. Dockerfile 深入理解
  2. Android自定义控件-仿淘宝ios客户端天猫商品详情界面动效
  3. 【Mysql】更新多个数据库下同名表同名字段的长度
  4. c语言生小牛问题算法,数据结构算法:大牛生小牛的算法问题
  5. Starling Tweens
  6. 2020 AI人才报告:每年74%人才需求增长,创业公司平均薪水约20万美元
  7. 九州牧云传鸿蒙区,九州海上牧云记珠中游忆全npc位置汇总
  8. 虹科方案 | 使用频谱分析仪进行PtP(点对点)天线对准
  9. 互动白板 + 动态 PPT + RTC + 回放 Demo
  10. 408知识框架总结——计算机组成原理