Related cause: org.springframework.beans.factory.UnsatisfiedDependencyException:
Error creating bean with name 'xxx' defined in file xxx:
Unsatisfied dependency expressed through bean property 'sqlSessionFactory': Error creating bean with name 'sqlSessionFactory' defined in class path resource [spring-mybatis.xml]:
Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file xxx'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for dao.StudentMapper.BaseResultMap; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [spring-mybatis.xml]: Invocation of init method failed; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file xxx'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for dao.StudentMapper.BaseResultMap
异常信息
mybatis出现Result Maps collection already contains value for…BaseResultMap的错误,
异常原因
既有可能是generatorSqlmapCustom逆向工程惹的货。
假如使用generatorSqlmapCustom逆向工程生成代码,即生成dao文件和mapper.xml文件,
解决方案
如果是再次生成代码,必须先将已经生成的代码删除,否则会在原文件中追加,仔细检查一下mapper.xml文件
看是否存在两个id为BaseResultMap的resultMap,逆向工程自动生成的SQL语句也会有重复的情况,这种情况下好像也是要将重复的删掉,只留一份就行删除多余的,只保留一个就可以解决问题。