错误提示
Cause: org.apache.ibatis.binding.BindingException: Parameter 'id' not found. Available parameters are [arg1, arg0, param1, param2]
- 接口 和 对应的Mapper文件
int addBill(Connection connection, Bill bill) throws Exception;
<insert id="addBill" parameterType="Bill">
insert into smbms_bill (id,
billCode,productName,productDesc,productUnit,productCount,totalPrice,isPayment,createdBy,creationDate,modifyBy,modifyDate,providerId)
values
(#{id},#{billCode},#{productName},#{productDesc},#{productUnit},#{productCount},#{totalPrice},#{isPayment},#{createdBy},#{creationDate},#{modifyBy},#{modifyDate},#{providerId})
</insert>
错误分析
根据错误提示可以确定,是传入的参数不对应,因为我这个接口的方法的参数是两个也没有用@Param() 指定 Bill对象,索引参数不对应。
修改
- 接口
int addBill(Connection connection,@Param("bill") Bill bill) throws Exception;
- Mapper配置文件
<insert id="addBill" parameterType="Bill">
insert into smbms_bill (id,
billCode,productName,productDesc,productUnit,productCount,totalPrice,isPayment,createdBy,creationDate,modifyBy,modifyDate,providerId)
values
(#{bill.id},#{bill.billCode},#{bill.productName},#{bill.productDesc},#{bill.productUnit},#{bill.productCount},#{bill.totalPrice},#{bill.isPayment},#{bill.createdBy},#{bill.creationDate},
#{bill.modifyBy},#{bill.modifyDate},#{bill.providerId})
</insert>