Mybatis批量插入并返回主键

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>

注意:不需要返回值,主键字段的值 默认会填充到入参对象的引用中去【表达可能不严谨,望大佬给点意见】

猜你喜欢

转载自blog.csdn.net/qq_43473129/article/details/127317659