Mybatis在插入单条数据的时候有两种方式返回自增主键:
1、对于支持生成自增主键的数据库:增加 useGenerateKeys和keyProperty ,<insert>标签属性。
2、不支持生成自增主键的数据库:使用<selectKey>。
但是怎么对批量插入数据返回自增主键的解决方式网上看到的还是比较少,以下例如:
public interface UserDao{
int insertTest(List<UserInfo> userInfo);
}
<insert id="insertTest" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="userId">
insert into t_sys_course (user_name,user_pwd)
values
<foreach collection="list" item="item" index="index"
separator=",">
(#{item.userName,jdbcType=VARCHAR},#{item.userPwd,jdbcType=VARCHAR})
</foreach>
</insert>
public List<UserInfo> saveCheckin(List<UserInfo> userInfo) {
userDao.insertCheckin(userInfo);
return userInfo;
}//返回的对象List里面已经包含主键I