Mybatis错误 Result Maps collection already contains value for xxx
使用mybatis 启动项目失败
错误信息:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'smsController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: com.xxx.xxx.SmsService com.xxx.xxx.api.controller.SmsController.smsService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'smsServiceImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: com.xxx.xxx.dao.mapper.AccessSecretMapper com.xxx.xxx.service.serviceimpl.SmsServiceImpl.accessSecretMapper; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'accessSecretMapper' defined in URL [jar:file:/D:/enjoymov/xxx/api/target/ROOT/WEB-INF/lib/repository-1.0-SNAPSHOT.jar!/com/xxx/xxx/dao/mapper/AccessSecretMapper.class]: 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: 'class path resource [mapper/AccessSecretMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.xxx.xxx.dao.mapper.AccessSecretMapper.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: 'class path resource [mapper/AccessSecretMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.xxx.xxx.dao.mapper.AccessSecretMapper.BaseResultMapat org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538)at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:444)at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:326)at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)at com.xxx.xxx.context.AppContextLoaderListener.contextInitialized(AppContextLoaderListener.java:24)at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4699)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5165)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1720)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:287)at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:479)at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:428)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:287)at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468)at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468)at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)at java.security.AccessController.doPrivileged(Native Method)at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1408)at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method.java:498)at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:324)at sun.rmi.transport.Transport$1.run(Transport.java:200)at sun.rmi.transport.Transport$1.run(Transport.java:197)at java.security.AccessController.doPrivileged(Native Method)at sun.rmi.transport.Transport.serviceCall(Transport.java:196)at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)at java.security.AccessController.doPrivileged(Native Method)at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.java:745)Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: com.xxx.xxx.SmsService com.xxx.xxx.api.controller.SmsController.smsService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'smsServiceImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: com.xxx.xxx.dao.mapper.AccessSecretMapper com.xxx.xxx.service.serviceimpl.SmsServiceImpl.accessSecretMapper; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'accessSecretMapper' defined in URL [jar:file:/D:/enjoymov/xxx/api/target/ROOT/WEB-INF/lib/repository-1.0-SNAPSHOT.jar!/com/xxx/xxx/dao/mapper/AccessSecretMapper.class]: 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: 'class path resource [mapper/AccessSecretMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.xxx.xxx.dao.mapper.AccessSecretMapper.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: 'class path resource [mapper/AccessSecretMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.xxx.xxx.dao.mapper.AccessSecretMapper.BaseResultMapat org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:573)at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:88)at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:331)... 61 moreCaused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'smsServiceImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: com.xxx.xxx.dao.mapper.AccessSecretMapper com.xxx.xxx.service.serviceimpl.SmsServiceImpl.accessSecretMapper; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'accessSecretMapper' defined in URL [jar:file:/D:/enjoymov/xxx/api/target/ROOT/WEB-INF/lib/repository-1.0-SNAPSHOT.jar!/com/xxx/xxx/dao/mapper/AccessSecretMapper.class]: 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: 'class path resource [mapper/AccessSecretMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.xxx.xxx.dao.mapper.AccessSecretMapper.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: 'class path resource [mapper/AccessSecretMapper.xml]'; nested exception is org.apache.ibatis.builder.BuilderException: Error parsing Mapper XML. Cause: java.lang.IllegalArgumentException: Result Maps collection already contains value for com.xxx.xxx.dao.mapper.AccessSecretMapper.BaseResultMapat org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:1192)at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1116)at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1014)at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:545)... 63 more
根据异常信息进行排查,AccessSecretMapper.xml
仔细排查下会有一些代码是重复的
这是因为你在用逆向工程生成xml时没有删除原先的xml,删除原先的xml在生成
终极解决办法:
修改下你的生成逆向工程的xml文件,如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfigurationPUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN""http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<!-- mybatis-generator:generate -->
<generatorConfiguration>
<classPathEntry location="mysql-connector-java-5.1.30.jar"/>
<classPathEntry location="log4j-1.2.12.jar"/><context id="context1" targetRuntime="MyBatis3"><property name="beginningDelimiter" value="`"/><property name="endingDelimiter" value="`"/><property name="autoDelimitKeywords" value="true"/><plugin type="org.mybatis.generator.plugins.ToStringPlugin"/><plugin type="org.mybatis.generator.plugins.RowBoundsPlugin"/><plugin type="org.mybatis.generator.plugins.SerializablePlugin"/><commentGenerator><property name="suppressAllComments" value="false"/></commentGenerator><jdbcConnection driverClass="com.mysql.jdbc.Driver"connectionURL="jdbc:mysql://127.0.0.1:3306/demo?characterEncoding=utf8"userId="root" password="123456"/><!-- 生成模型的包名和位置 --><javaModelGenerator targetPackage="com.demo.entity" targetProject="src/main/java"/><!-- 生成映射文件的包名和位置 --><sqlMapGenerator targetPackage="mapper" targetProject="src/main/resources"><property name="enableSubPackages" value="true"/></sqlMapGenerator><!-- 生成DAO的包名和位置 --><javaClientGenerator type="XMLMAPPER" targetPackage="com.demo.mapper"targetProject="src/main/java"><property name="enableSubPackages" value="true"/></javaClientGenerator><!-- 此处为demo --><!-- <table tableName="access_secret"><generatedKey column="id" sqlStatement="MySql" identity="true"/><!–<domainObjectRenamingRule searchString="^Ocs" replaceString=""/>–></table>--></context>
</generatorConfiguration>
Mybatis错误 Result Maps collection already contains value for xxx相关推荐
- Spring集成Mybatis错误Result Maps collection already contains value for XXX
Spring在集成Mybatis出现如下错误: SpringResult Maps collection already contains value for com.guowei.maven.fra ...
- mybatis启动报错Result Maps collection already contains value for xxx
背景: mybatis配置xml启动的时候报错,提示Result Maps collection already contains value for xxx. 原因分析: 同一个xml文件里写的sq ...
- Mybatis:Result Maps collection does not contain value for 报错
mybatis逻辑:dao层现在只用写接口,其上加入@Mapper注解,spring会自动生成实现类并去对应resource文件夹中寻找对应mapper的xml的SQL文件,得到数据.并返回给调用da ...
- (已解决)Mybatis:Result Maps collection does not contain value for 报错
1.select标签内部的resultMap属性,指向的不正确 2.命名空间引入错了 3.resultMap的type或者id指引错误 这里,主要讲述的就是:即使你@Test的方法并不是使用resul ...
- myBatis抛出异常Result Maps collection already contains value ...
原因是Eclipse编译了一份在bin目录下,将bin目录或者WEB-INF下class目录清空即可 或者Maven clean一下项目 转载于:https://www.cnblogs.com/lia ...
- websphere部署项目报Result Maps collection already contains value for XXX
2019独角兽企业重金招聘Python工程师标准>>> 1.启动项目,报错了 我就看日志 2.百度查了下,喵的,说是id是xxx的 标签已经存在了,但是我在文件里找,并没有两个一样i ...
- Mybatis异常_02_Result Maps collection already contains value for
一.异常 1.异常信息 2.异常原因 XXXMapper.xml文件中存在重名对象,保持名称不要一样即可正常启动. 我的原因是namespace与其他mapper 一样. 3.可能的原因 (1)nam ...
- mybatis 项目启动时报“Result Maps collection already contains value forxxx”错误
在使用mybatis的逆向工程生成代码时报错,"Result Maps collection already contains value forxxx"有可能是如下原因: 生成的 ...
- mybatis报错解决办法 :Result Maps collection does not contain value for java.lang.String
错误 java.lang.IllegalArgumentException: Result Maps collection does not contain value for java.lang.S ...
最新文章
- 操作系统知识点:全面
- npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! test_vue_0613@1.0.0 dev: 错误的解决方法
- 从零开始入门 K8s | K8s 的应用编排与管理
- linux 同步 mac,WorkFlowy Beta for Mac(跨平台同步笔记工具)
- C# in Depth-类型系统的特征
- 数据中心SDN技术发展应用之MP-BGP
- python dataframe 列赋值_dataframe根据新列特征的条件为其赋值,给
- mysql 处理数据_MySQL数据库,如何处理重复的数据?
- python分配红包程序_Python版微信红包分配算法
- Sublime 自定义格式化快捷键
- 面试准备——(二)专业知识(1)Linux
- S4 HANA BP 维护客户信贷管理数据
- 实现IDM高速下载磁力链接,bt种子,解决百度云、迅雷下载限速
- 开设计算机专业设置问卷调查,计算机信息管理专业调查问卷 (1)
- 计算机网络阶段,计算机网络发展的四个阶段
- linux mysql backdoor_Mysql BackDoor
- 浅谈千万级高性能高并发网站架构
- 【C++】模板(初级)
- 解决 git 文件夹不显示绿色图标和红色图标的问题
- 抖音好物分享怎么做?
热门文章
- 学习笔记之——Python中类和对象的理解
- Altera 逻辑锁定
- [kafka]kafka术语白话
- 【Kafka】Docker安装kafka、搭建kafka集群
- 华擎服务器主板 稳定性,【华擎X570 Steel Legend主板使用总结】设置|性能_摘要频道_什么值得买...
- POJ 1417 True Liars(带权并查集+DP)
- ORACLE自学教程
- 域名使用HTTPS的相关配置
- 网络协议--网络四层协议
- 计算机词汇app有哪些,APP推荐 | 有哪些APP独得学霸恩宠?