1.查看parameterType的类型是不是Java.util.List类型,如果是的话,看foreach 的collection属性是不是list,
2.看一下foreach里面的值有没有传递进来
3.看foreach里面的名称字段是否写错
4.还有就是我用Mybatis的时候,用MySQL的值插入自动增长值,里面的key我在数据库中没有设置自动增长,然后我又用了selectkey,所以也会出现这种情况
我的情况是
<insert id="insetBatch">
insert into MBudget
(
DepartmentID,
AccountID,
MonthMoney,
Month,
CompanyID,
Year,
CreateDate,
CreateBy,
ModifyDate,
ModifyBy
)
VALUES
<foreach collection="list" item="mBudget" index="index" separator=",">
<trim prefix="(" suffix=")" suffixOverrides=",">
#{mBudget.departmentID},=
#{mBudget.accountID},
#{mBudget.monthMoney},
#{mBudget.month},
#{mBudget.companyID2},
#{mBudget.budgetDate},
#{mBudget.createDate},
#{mBudget.createBy},
#{mBudget.modifyDate},
#{mBudget.modifyBy},
</trim>
</foreach>
</insert>
里面的字段名称写错了mBudget.companyID2