今天在springboot中使用mybatis時出現瞭如下錯誤:
java.lang.IllegalArgumentException: Result Maps collection does not contain value for com.xzq.repository.MenuRepository.Menu
at org.apache.ibatis.session.Configuration$StrictMap.get(Configuration.java:875) ~[mybatis-3.4.4.jar:3.4.4]
at org.apache.ibatis.session.Configuration.getResultMap(Configuration.java:627) ~[mybatis-3.4.4.jar:3.4.4]
at org.apache.ibatis.builder.MapperBuilderAssistant.getStatementResultMaps(MapperBuilderAssistant.java:344) ~[mybatis-3.4.4.jar:3.4.4]
at org.apache.ibatis.builder.MapperBuilderAssistant.addMappedStatement(MapperBuilderAssistant.java:290) ~[mybatis-3.4.4.jar:3.4.4]
at org.apache.ibatis.builder.xml.XMLStatementBuilder.parseStatementNode(XMLStatementBuilder.java:109) ~[mybatis-3.4.4.jar:3.4.4]
at org.apache.ibatis.session.Configuration.buildAllStatements(Configuration.java:775) ~[mybatis-3.4.4.jar:3.4.4]
at org.apache.ibatis.session.Configuration.hasStatement(Configuration.java:745) ~[mybatis-3.4.4.jar:3.4.4]
at org.apache.ibatis.session.Configuration.hasStatement(Configuration.java:740) ~[mybatis-3.4.4.jar:3.4.4]
at org.apache.ibatis.binding.MapperMethod$SqlCommand.resolveMappedStatement(MapperMethod.java:247) ~[mybatis-3.4.4.jar:3.4.4]
at org.apache.ibatis.binding.MapperMethod$SqlCommand.<init>(MapperMethod.java:217) ~[mybatis-3.4.4.jar:3.4.4]
at org.apache.ibatis.binding.MapperMethod.<init>(MapperMethod.java:48) ~[mybatis-3.4.4.jar:3.4.4]
原因是誤將resultType寫成resultMap
修改前:
<select id="findAll" resultMap="Menu">
select * from t_menu limit #{param1},#{param2}
</select>
修改後:
<select id="findAll" resultType="Menu">
select * from t_menu limit #{param1},#{param2}
</select>