Mybatis批量插入并返回主键
mapper(dao)层
void insertBatch(@Param("measureDealList") List<CorrectPreventionMeasureDeal> measureDealList);
xml
名词解释:
keyProperty: 实体类中的主键字段,如下:
@TableId(value = “measure_deal_id”, type = IdType.AUTO)
private Long measureDealId;
useGeneratedKeys:设置useGeneratedKeys参数值为true,在执行添加记录之后可以获取到数据库自动生成的主键ID
<insert id="insertBatch" useGeneratedKeys="true" keyProperty="measureDealId">
INSERT INTO p_correct_prevention_measure_deal
(process_id,measure_notice_id,implementation,complete_time,implement_prove,correct_deadline)
values
<foreach collection="measureDealList" item="item" separator="," index="index" >
(#{item.processId},#{item.measureNoticeId},#{item.implementation},#{item.completeTime},#{item.implementProve},#{item.correctDeadline})
</foreach>
</insert>
注意:不需要返回值,主键字段的值 默认会填充到入参对象的引用中去【表达可能不严谨,望大佬给点意见】