我们时长在批量插入时,需要获取插入数据的id.
这样:
INSERT INTO `user` (userName) VALUES (#{userName})
登录后复制
这样是没问题的.
但是有时候牵扯到批量插入,并且获取插入的id
这样写:
INSERT INTO `user` (userName) VALUES(#{item.userName})
登录后复制
这样运行后就会出现异常了.
这是因为你用的mybatis版本过低.比如我用的是3.2.2版本,这是mybatis的一个bug.
如果你换成3.4.4版本就没有问题了.
上面的sql语句换个写法 就又会报异常了(将insert包围在foreach里面)
比如:
INSERT INTO `user` (userName) VALUES (#{item.userName})
登录后复制
同理还有update的批量更新也是有这个问题
update `user` set userName=#{item.userName} where userId=#{item.userId}
登录后复制
这是因为mybatis默认是只能执行一条sql语句,
可以再链接路径的时候加上参数,就可以执行多条sql语句了.allowMultiQueries=true
以上就是mybaits批量插入该如何操作的详细内容,更多请关注【创想鸟】其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。
发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/1620366.html