mybatis 批量insert 返回主鍵(例項)
阿新 • • 發佈:2019-01-10
轉:
https://www.jianshu.com/p/be01aa549fdd
mybatis 批量insert 返回主鍵(例項)
2017.07.30 23:16* 字數 88 閱讀 949評論 0喜歡 1
時刻記得:不忘初心,方得始終
功能
實現批量插入,並且返回自增id、隨機id、uuid等。隨你用什麼策略。
話不多說,上例項
- bean
public class UserInfo { private int userId; private String userName; private StringuserPwd; ```(get、set方法) }
- Dao
public interface UserDao{
int insertBatch(List<UserInfo> userList);
}
- mapper
<insert id="insertBatch" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="userId"> insert into user_info ( user_id, user_name, user_pwd ) values <foreach collection="list" item="item" index="index" separator=","> ( null, #{item.userName,jdbcType=VARCHAR}, #{item.userPwd,jdbcType=VARCHAR} ) </foreach> </insert>
- serviceImpl
public List<UserInfo> saveCheckin(List<UserInfo> userList) {
userDao.insertCheckin(userList); //成功後物件userList裡面已經包含主鍵user_id
return userList;
}
注意
要將mybatis升到3.3.1以上
不要在Dao 層加@Param
註解,不然會被報如下錯誤
報錯:Parameter '你的@Param引數' not found. Available parameters are [list]