springboot使用mybatis ,项目启动时报“Result Maps collection already contains value forxxx”的解决方案

原因分析:

 

 

 

这些代码因为是工具自动生成的,所以也没仔细检查.一个小小的错误,导致的。

 

 

 

解决办法:

 

先在网上搜索大概的解决方法是:

3.0有可能是在 重新生成实体类时,没有将 mapper中的 XML、Repository中的方法、Domain中的实体类,这三个文件夹中的文件删干净导致的,重复。

 

3.1 由于使用ibatisTempTestTableMapper.xml实现接口TempTestTableMapper.java中的方法的时候的id有重复的值,比如
    相冲突导致的。将resulttype更改为resultmap即可解决该问题。

 

3.5  eclipse编译了一份在bin目录下,将bin目录或者WEB-INFclass目录清空即可

3.6  下载了个可以直接运行的eclipse 项目,再与之前的项目对比,好像也没什么不同。最后使绝招:代码对比工具,发现生成的PetMapper.xml多了几百行!原来是我在运行时没有把之前已经生成的PetMapper.xml删除掉,再次生成代码时,又附加了上去!所以在运行代码生成之前,要把以前已经生成的xml文件清掉,以防出错。

把网上搜到的解决办法一并贴出,方便自己以后查找错误。

我这里的解决办法是:

包路径配错了,前面说了代码是用工具自动生成的,所以生成resultType的配置和我真实项目的路径不一致造成的.

代码自定生成的路径:

 

 

 

修改成项目正确的路径:

 

你可能感兴趣的:(Java)