當在mybatis用到foreach的時候,會報這個錯誤Parameter '__frch_item_0' not found. Available parameters are [list]會出現的幾種解決方案java
例子mysql
[sql] view plaincopysql
1.查看parameterType的類型是否是Java.util.List類型,若是是的話,看foreach 的collection屬性是否是list,數據庫
由於 傳遞一個 List 實例或者數組做爲參數對象傳給 MyBatis,MyBatis 會自動將它包裝在一個 Map 中,用名稱在做爲鍵。List 實例將會以「list」 做爲鍵,而數組實例將會以「array」做爲鍵 數組
2.看一下foreach裏面的值有沒有傳遞進來 mybatis
3.看foreach裏面的名稱字段是否寫錯 app
4.還有就是我用Mybatis的時候,用MySQL的值插入自動增加值,裏面的key我在數據庫中沒有設置自動增加,而後我又用了selectkey,因此也會出現這種狀況url
--------------------------------------------------------------------spa
還有一種狀況是item的屬性不對,我在使用通用Map的時候,發現此問題。.net
通用Map的好處是減小了對Bean的書寫,問題是若是數據庫的查詢結果爲Null,對應屬性的key也就不存在