博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Mybaties批量更新
阅读量:5759 次
发布时间:2019-06-18

本文共 1159 字,大约阅读时间需要 3 分钟。

hot3.png

    Mybaties批量更新一直报错,意思是在Mybaties的xml中执行sql的时候多了个“;”,因为在Mybaties的xml中在SQL语句的结尾是不能加上“;”的加上后就会报下面的错误。但是SQL有必须这样配置。

### Cause: java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符; bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符

    最后通过为foreach设置open和close属性来解决问题(),在这里设置两个标签如下:

让begin和end;包裹生成的SQL即可。注意如果数据库为Mysql还要在Mysql的配置连接后加上;allowMultiQueries=true表示一次可以项向数据库提交执行多个SQL。

jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true

    整个Mybaties的批量新增SQL如下:

update DATA_TABLE
NAME = #{item.name, jdbcType=VARCHAR},
SHORT_NAME = #{item.shortName, jdbcType=VARCHAR},
CODE = #{item.code, jdbcType=VARCHAR},
where ID = #{item.id,jdbcType=VARCHAR}

    执行结果:

BEGIN	UPDATE DATA_TABLE SET NAME = ?, SHORT_NAME = ?, DEPT_CODE = ? WHERE ID = ? ; 	UPDATE DATA_TABLE	SET NAME = ?, SHORT_NAME = ?, DEPT_CODE = ? WHERE ID = ? ; 	UPDATE DATA_TABLE SET NAME = ?, SHORT_NAME = ?, DEPT_CODE = ? WHERE ID = ? ;END ;

 

转载于:https://my.oschina.net/zicheng/blog/2218891

你可能感兴趣的文章
hive_0.11中文用户手册
查看>>
hiveserver2修改线程数
查看>>
oracle体系结构
查看>>
Microsoft Exchange Server 2010与Office 365混合部署升级到Exchange Server 2016混合部署汇总...
查看>>
Proxy服务器配置_Squid
查看>>
开启“无线网络”,提示:请启动windows零配置wzc服务
查看>>
【SDN】Openflow协议中对LLDP算法的理解--如何判断非OF区域的存在
查看>>
纯DIV+CSS简单实现Tab选项卡左右切换效果
查看>>
栈(一)
查看>>
ios 自定义delegate(一)
查看>>
创建美国地区的appleId
查看>>
例题10-2 UVa12169 Disgruntled Judge(拓展欧几里德)
查看>>
JS 原生ajax写法
查看>>
Composer管理PHP依赖关系
查看>>
React.js学习笔记之JSX解读
查看>>
我所了解的Libevent和SEDA架构
查看>>
Socket编程问题小记
查看>>
基于Flask-Angular的项目组网架构与部署
查看>>
一张图道尽程序员的出路
查看>>
redis 常用命令
查看>>