完整的错误报告如下:
Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.mapper.xxxMapper.BaseResultMap
at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:578)
at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:551)
at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:356)
at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:138)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:231)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:201)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:196)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:93)
... 8 more
这个错误原因很简单,我们的mapper.xml文件一般是mybatis-generator自动生成的,这种错误是因为我们在二次生成相同名字、相同位置的文件时,内容重复生成了。把重复的内容或者id名字删除就能解决这个错误。
本文介绍了一个常见的MyBatis错误——ResultMap集合中出现重复定义的问题及其解决方法。该错误通常发生在使用mybatis-generator自动生成mapper.xml文件的过程中,当再次生成具有相同名称和位置的文件时,会导致内容重复。解决此问题的方法是删除重复的内容或更改ID名称。
4811

被折叠的 条评论
为什么被折叠?



