假设主键为id,并且设置为自增。
以下两种方式均可获取到自增后的主键
方式一:mapper为xml文件,使用 useGeneratedKeys="true" keyProperty="id"
<insert id="insertTest" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
insert into test(user_name,user_pwd)
values
<foreach collection="list" item="var" index="index" separator=",">
(#{var.userName,jdbcType=VARCHAR},#{var.userPwd,jdbcType=VARCHAR})
</foreach>
</insert>
方式二:(适用于Mysql Plus 的@Insert注解)@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
@Insert("<script> INSERT INTO test(user_name,user_pwd) VALUES "
+ " <foreach collection='list' item='var' index='index' separator=','> "
+ " (#{var.userName},#{var.userPwd})</foreach></script>")
@Options(useGeneratedKeys = true, keyProperty = "id", keyColumn = "id")
public int insertTest(List<User> userList);
自增后的id保存在每个User的id中,在java代码中通过user.getId()即可获取。