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包版本的應用
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiAzNfRHLGZkRGZkRfJ3bs92YsYTMfVmepNHL1UEVPdXS650dRpHW4Z0MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZuBnLyADOxUzN0ATM2IzMwAjMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.png)
通過這個對應關系來選擇你需要的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>