我正在使用 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。
这可能吗?提前谢谢。
答案 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>