使用批量插入時,希望插入之后獲得插入的數(shù)據(jù)的id讨勤,但是發(fā)現(xiàn)id是null
原始的內(nèi)容:
mapper定義
void batchInsert(@Param("itemList") List<Model> itemList);
sql語句
<insert id="batchInsert" keyColumn="id" keyProperty="id" parameterType="map" useGeneratedKeys="true">
INSERT INTO t_xxx
(key1,key2)
VALUES
<foreach collection="itemList" item="item" separator=",">
(#{item.key1} , #{item.key2})
</foreach>
</insert>
解決辦法
通過實驗發(fā)現(xiàn)肘迎,批量插入時候@Param的參數(shù)名稱要用"list"才能生效,修改之后就可以拿到insert后的id了