bug: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userMapper' defined in file [D:\workspace\idea\terminal\target\classes\com\tlzxled\terminal\mapper\UserMapper.class]: Unsatisfied dependency expressed through bean property 'sqlSessionFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [org/mybatis/spring/boot/autoconfigure/MybatisAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.apache.ibatis.session.SqlSessionFactory]: Factory method 'sqlSessionFactory' threw exception; nested exception is org.springframework.core.NestedIOException: Failed to parse mapping resource: 'file [D:\workspace\idea\terminal\target\classes\mapper\UserMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. The XML location is 'file [D:\workspace\idea\terminal\target\classes\mapper\UserMapper.xml]'. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.tlzxled.terminal.mapper.UserMapper.BaseResultMap
这是因为我把Mapper.xml放在resources里面,但是扫描映射的位置在com.terminal.mapper.UserMapper中。
我原先application.yml中配置的扫描位置是
把Mapper.xml扫描位置指定到resources下面,或者说把Mapper.xml和Mapper.java 放到一起就解决了,记录下小问题。