springboot+mybatis批量插入数据时只返回最后一条数据的主键

weixin_46121485 2019-12-31 10:02:11
springboot版本2.0.3

mybatis使用的是springboot组件mybatis-spring-boot-starter,版本1.3.5

mapper
<insert id="insertBatch" useGeneratedKeys="true" keyProperty="id" parameterType="java.util.List">
insert into order_room (
oid, roomid, rnum, state, assigntime, assignuid
) values
<foreach collection="list" index="index" item="item" separator=",">
(
#{item.oid}, #{item.roomid}, #{item.rnum}, #{item.state}, #{item.assigntime}, #{item.assignuid}
)
</foreach>
</insert>

...全文
1399 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_46121485 2020-01-02
  • 打赏
  • 举报
回复
结帖。。。

应该是sqlserver不支持批量插入返回多个主键
https://github.com/mybatis/mybatis-3/issues/745

感谢托尼老师的支持
dkwuxiang 2019-12-31
  • 打赏
  • 举报
回复
mybatis 的版本需要3.3.1或以上
weixin_46121485 2019-12-31
  • 打赏
  • 举报
回复
修正一下问题,每次只返回第一条数据的主键

引用 楼主 weixin_46121485 的回复:
springboot版本2.0.3

mybatis使用的是springboot组件mybatis-spring-boot-starter,版本1.3.5

mapper
<insert id="insertBatch" useGeneratedKeys="true" keyProperty="id" parameterType="java.util.List">
insert into order_room (
oid, roomid, rnum, state, assigntime, assignuid
) values
<foreach collection="list" index="index" item="item" separator=",">
(
#{item.oid}, #{item.roomid}, #{item.rnum}, #{item.state}, #{item.assigntime}, #{item.assignuid}
)
</foreach>
</insert>
weixin_46121485 2019-12-31
  • 打赏
  • 举报
回复
引用 5 楼 无法显示此用户 的回复:
刚写了个例子


老师,我看了你写的例子,跟你写的是一样的额,不知道是不是springboot的mybatis的组件问题
我用的是mybatis-spring-boot-starter,版本1.3.5
weixin_46121485 2019-12-31
  • 打赏
  • 举报
回复
引用 4 楼 dkwuxiang 的回复:
你将 请求参数list 返回回去就行了,你调式看一下,List中的对象id是否都已经被设置了值


嗯,我返回的是请求list,list中两个对象,一个有id,一个没有。。
tony4geek 2019-12-31
  • 打赏
  • 举报
回复
dkwuxiang 2019-12-31
  • 打赏
  • 举报
回复
你将 请求参数list 返回回去就行了,你调式看一下,List中的对象id是否都已经被设置了值
weixin_46121485 2019-12-31
  • 打赏
  • 举报
回复
引用 2 楼 dkwuxiang 的回复:
你现在返回的是什么数据


如果插入两条数据,只会返回第二条插入的数据的主键,第一条数据的主键是null
dkwuxiang 2019-12-31
  • 打赏
  • 举报
回复
你现在返回的是什么数据
weixin_46121485 2019-12-31
  • 打赏
  • 举报
回复
有大佬吗。。。

50,559

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧