![](/img/trans.png)
[英]how to insert data in 2 tables at a time using selectKey in myBatis
[英]will <selectKey> generate new id for each insert in MyBatis?
<insert id="insertIntoScheduleReportUserLink" parameterType="com.mypackage.model.ScheduleReport">
<selectKey keyProperty="id" resultType="java.lang.Integer" order="BEFORE">
select NEXTVAL('schedule_report_user_link_sequence')
</selectKey>
INSERT INTO schedule_report_user_link(
id, schedule_report_detail_id, to_user_id)
<foreach collection="selectedUsers" item="user" separator=",">
VALUES (#{id}, #{scheduleReportDetail.id}, #{user.id})
</foreach>;
</insert>
在这里,我使用每个循环到多个插入。 我需要知道selectKey是否为每个插入生成新的ID?
有没有更好的办法?
该循环仅在插入部分上运行,而不在密钥生成部分上运行。
因此,似乎密钥将生成一次。
不要依赖于运行少量数据的假设并亲自查看它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.