0

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

<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。

这可能吗?提前致谢。

4

1 回答 1

1

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

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

在 mapper.xml 插入方法应该添加

<selectKey keyProperty="ID" order="AFTER" resultType="java.lang.Integer">
    SELECT LAST_INSERT_ID()
</selectKey>
于 2013-08-09T11:20:42.330 回答