異常信息:
org.apache.ibatis.builder.IncompleteElementException: Could not find parameter map com.boco.fsmsys.amuse.dao.AmuseItemDao.amuseItem
at org.apache.ibatis.builder.MapperBuilderAssistant.setStatementParameterMap(MapperBuilderAssistant.Java:326)
at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:290)
at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:110)
...//省略
Caused by: java.lang.IllegalArgumentException: Parameter Maps collection does not contain value for com.boco.fsmsys.amuse.dao.AmuseItemDao.amuseItem
at org.apache.ibatis.session.Configuration$StrictMap.get(Configuration.java:660)
at org.apache.ibatis.session.Configuration.getParameterMap(Configuration.java:442)
at org.apache.ibatis.builder.MapperBuilderAssistant.setStatementParameterMap(MapperBuilderAssistant.java:324)
... 45 more
原因:
異常信息容易讓人產生誤導,實際上這是因為在另一個Mapper.xml里將parameterType寫成了parameterMap,而mybaties中已經不再用這個屬性了。
<select id="getClassByID" parameterMap="String" resultMap="classResultMap">
測試確實如此,其實可能是同一個xml的另外一個select的parameterType或者resultMap寫錯。