1. 問題描述:
出現如下問題,執行報錯資訊
Caused by: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.binding.BindingException: Parameter '__frch_item_0' not found. Available parameters are [list, param1] at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:75) ~[mybatis-spring-1.2.2.jar:1.2.2] at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:371) ~[mybatis-spring-1.2.2.jar:1.2.2] at com.sun.proxy.$Proxy21.insert(Unknown Source) ~[na:na] at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:240) ~[mybatis-spring-1.2.2.jar:1.2.2] at org.apache.ibatis.binding.MapperMethod.execute(MapperMethod.java:51) ~[mybatis-3.2.8.jar:3.2.8] at org.apache.ibatis.binding.MapperProxy.invoke(MapperProxy.java:52) ~[mybatis-3.2.8.jar:3.2.8] at com.sun.proxy.$Proxy36.bashInsert(Unknown Source) ~[na:na] at
2. 查詢問題
1. 檢查報錯方法體內,是否採用了@Param註解import org.apache.ibatis.annotations.Param;
int bashInsert(@Param("list") List<Demo> list);
2. 檢查在<foreach>標籤中的collection屬性中是否與list一致
<foreach collection="winReportMonthDpds" item="item" separator=",">
3. 檢查forEach中的item中所修飾的Demo的欄位是否進行改變,也就是這是否是你之前編寫的程式碼,但是你更新了po類中的update_time欄位,但是在你的mapper中foreach的時候並沒有進行修改
3. 解決問題
1. 進過檢視,發現由第三個問題導致,由於之前修改了PO類中的update_time改為了updated_time ,導致其出現問題。問題解決