【问题标题】:MyBatis-Spring insert a list of objects and retrieve their new IDsMyBatis-Spring 插入对象列表并检索它们的新 ID
【发布时间】:2013-07-17 16:40:59
【问题描述】:

我正在使用 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。

这可能吗?提前致谢。

【问题讨论】:

    标签: mysql spring list insert mybatis


    【解决方案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-03-31
      • 2017-01-30
      • 2011-11-02
      • 1970-01-01
      • 2011-07-30
      • 1970-01-01
      • 2016-01-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多