Mybatis 单个插入和批量插入返回主键ID

1,830 阅读1分钟

插入返回主键:

<insert paramterType="com.andy.User" useGeneratedKeys="true" keyProperty="id">
    insert into user(name) values(#{name})
</insert >

批量插入返回主键:

/**
 * 批量插入
 * @param optionList
 * @return
 */
 int addBatch(List<TbSpecificationOption> optionList);

 <!-- 批量插入 -->
 <insert id="addBatch" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
   insert into tb_specification_option (id, option_name, spec_id,orders)
   values
   <foreach collection="list" item="item" separator=",">
   (#{item.id}, #{item.optionName}, #{item.specId}, #{item.orders})
   </foreach>
 </insert>

重点: 

useGeneratedKeys="true" 
keyProperty="id" 
collection="list"