写cappella项目的时候遇到一个让我解决了很久的问题:
Result Maps collection already contains value for xyx.dsw.dao.mapper.admin.quotationwish.TempTestTableMapper.TempTestTableResult
Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for xyx.dsw.dao.mapper.admin.quotationwish.TempTestTableMapper.TempTestTableResult
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)
... 31 more
我的解决办法:
用mybatisGenerator 生成的代码,删除掉mapper中的文件,重新生成mapper,重新编译运行,通过。
网上找的可能的原因:
- eclipse编译了一份在bin目录下,将bin目录或者WEB-INF下class目录清空即可
- 由于使用ibatis的TempTestTableMapper.xml实现接口TempTestTableMapper.java中的方法的时候的id有重复的值,比如
<select id="queryTempTestTableMap" resultMap="TempTestTableResult">中的TempTestTableResult在一个xml文件中有两个这样的id,修改过来即可
本文介绍了解决MyBatis中ResultMap重复导致的异常问题的方法,包括清理编译目录、修改XML配置文件中的重复ID等步骤。
3832

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



