Caused by: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.baseinfo.mapper.UserCustomFieldMapper.userCustomFieldBaseMap
at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:802)
at org.apache.ibatis.session.Configuration$StrictMap.put(Configuration.java:774)
at org.apache.ibatis.session.Configuration.addResultMap(Configuration.java:556)
at org.apache.ibatis.builder.MapperBuilderAssistant.addResultMap(MapperBuilderAssistant.java:217)
at org.apache.ibatis.builder.ResultMapResolver.resolve(ResultMapResolver.java:47)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:285)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElement(XMLMapperBuilder.java:252)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.resultMapElements(XMLMapperBuilder.java:244)
at org.apache.ibatis.builder.xml.XMLMapperBuilder.configurationElement(XMLMapperBuilder.java:116)
... 52 more
问题可能 原因:
1.mapper和mapper.xml中的方法名不相同
2.xml文件中namespace写错了
3.包路径写错了
4.传入mapper的参数和mapper上定义的类型不一样
通过一个个删除.xml文件中的方法。。。。
定位到,原因是在自动生成xml文件时,文件包路径写错了。
<select id="queryUserCustomFields" parameterType="com.baseinfo.vo.ee.UserCustomFieldVo" resultMap="userCustomFieldBaseMap">
select
<include refid="userCustomField_column_list"></include>
from crm_user_custom_field t
<where>
<include refid="query_userCustomField_where"></include>
</where>
</select>
其中parameterType包的路径写错了。