天天看點

mybatis 批量插入傳回主鍵id

1、首先mybatis必須是3.3.1以上版本

org.mybatis

mybatis

3.3.1

2、其次mybatis-spring必須是1.3.0以上版本

org.mybatis

mybatis-spring

1.3.0

注意:低于1.3.0版本會報如下錯誤

org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()Ljava/lang/Integer;

mytais 與 spring 版本對應

關于這種問題的根源可以檢視mybatis的官網對于mybatis—spring jar包版本的應用

mybatis 批量插入傳回主鍵id

通過這個對應關系來選擇你需要的mybatis-spring jar 包的版本

我之前使用的是spring 4.1+mybatis 3.4 而mybatis-spring 使用的是1.2版本,導緻項目報錯,改成1.3.0 版本後一切正常!!

3、mybatis配置

mapper配置:

xml配置:

<insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
        insert into reverse_record_detail
        (user_id, order_no)
        values
        <foreach collection="recordDetailEntityList" item="item" index="index" separator=",">
            (#{item.userId,jdbcType=INTEGER},  #{item.orderNo,jdbcType=VARCHAR})
        </foreach>
    </insert>