Result Maps collection already contains value for xxxMapper.BaseResultMap错误解决办法

将相本无种,男儿当自强。这篇文章主要讲述Result Maps collection already contains value for xxxMapper.BaseResultMap错误解决办法相关的知识,希望能为你提供帮助。
原因分析:
这些代码因为是工具自动生成的,所以也没仔细检查.一个小小的错误,导致的。
解决办法:
1、由于使用ibatis的TempTestTableMapper.xml实现接口TempTestTableMapper.java中的方法的时候的id有重复的值,比如
    < select id="queryTempTestTableMap"     resultMap="TempTestTableResult">   中的TempTestTableResult在一个xml文件中有两个这样的id,修改过来即可
【Result Maps collection already contains value for xxxMapper.BaseResultMap错误解决办法】2、删除Mybatis.xml中的< mappers> 标签所有内容。因为如果user-mapper.xml与namespace的接口在同一路径下,就不需要在mybaits.xml中再进行配置了。
3、insert 中的parameterType部分,之前我写的是类名,后来改为完整的包名+类名就好用了,不过,这个问题,其实在之前的iBatise2.x,是允许这样写的,有些不解了,不过看来以后需要注意了,尽量都用完整的包名+类名
4、sql语句返回时,使用< select id="xxx" resultType="example"> 与< resultMap id="example" type=“ xxx” > 相冲突导致的。将resulttype更改为resultmap即可解决该问题。
5、eclipse编译了一份在bin目录下,将bin目录或者WEB-INF下class目录清空即可
6、下载了个可以直接运行的eclipse 项目,再与之前的项目对比,好像也没什么不同。最后使绝招:代码对比工具,发现生成的PetMapper.xml多了几百行!原来是我在运行时没有把之前已经生成的PetMapper.xml删除掉,再次生成代码时,又附加了上去!所以在运行代码生成之前,要把以前已经生成的xml文件清掉,以防出错。
7、包路径配错了,前面说了代码是用工具自动生成的,所以生成resultType的配置和我真实项目的路径不一致造成的.

    推荐阅读