MyBatis-Spring插入一个对象列表并检索它们的新ID

时间:2013-07-17 16:40:59

标签: mysql spring list insert mybatis

我正在使用 MyBatis-Spring MySql 数据库。目前,我使用以下代码将一些列表插入其中一个表中:

<insert id="insertList" parameterType="java.util.List" useGeneratedKeys="true">
        INSERT INTO myTable (field1, field2, field3)
        VALUES
        <foreach collection="list" item="item" separator=",">
            (#{item.field1}, #{item.field2}, #{item.field3})
        </foreach>
    </insert>

此时,我想在不进行新查询的情况下返回插入新项目后生成的新ID :SELECT * FROM myTable。

这可能吗?提前谢谢。

1 个答案:

答案 0 :(得分:0)

如果列表大小不是太大,请在java代码中执行循环插入

for(Bean bean : list){
   list.insert(bean);
}

在mapper.xml中,insert方法应该添加

<selectKey keyProperty="ID" order="AFTER" resultType="java.lang.Integer">
    SELECT LAST_INSERT_ID()
</selectKey>