码迷,mamicode.com
首页 > 移动开发 > 详细

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

时间:2019-04-10 17:52:23      阅读:396      评论:0      收藏:0      [点我收藏+]

标签:type   xml文件   代码生成   原因   运行时   lips   ips   col   already   

原因分析:

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

解决办法:

1、由于使用ibatis的TempTestTableMapper.xml实现接口TempTestTableMapper.java中的方法的时候的id有重复的值,比如
    <select id="queryTempTestTableMap"    resultMap="TempTestTableResult"> 中的TempTestTableResult在一个xml文件中有两个这样的id,修改过来即可

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的配置和我真实项目的路径不一致造成的.

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

标签:type   xml文件   代码生成   原因   运行时   lips   ips   col   already   

原文地址:https://www.cnblogs.com/whatarewords/p/10684915.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!