使用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"/>&lt;!&ndash;<domainObjectRenamingRule searchString="^Ocs" replaceString=""/>&ndash;&gt;</table>--></context>
</generatorConfiguration>

Mybatis错误 Result Maps collection already contains value for xxx相关推荐

  1. Spring集成Mybatis错误Result Maps collection already contains value for XXX

    Spring在集成Mybatis出现如下错误: SpringResult Maps collection already contains value for com.guowei.maven.fra ...

  2. mybatis启动报错Result Maps collection already contains value for xxx

    背景: mybatis配置xml启动的时候报错,提示Result Maps collection already contains value for xxx. 原因分析: 同一个xml文件里写的sq ...

  3. Mybatis:Result Maps collection does not contain value for 报错

    mybatis逻辑:dao层现在只用写接口,其上加入@Mapper注解,spring会自动生成实现类并去对应resource文件夹中寻找对应mapper的xml的SQL文件,得到数据.并返回给调用da ...

  4. (已解决)Mybatis:Result Maps collection does not contain value for 报错

    1.select标签内部的resultMap属性,指向的不正确 2.命名空间引入错了 3.resultMap的type或者id指引错误 这里,主要讲述的就是:即使你@Test的方法并不是使用resul ...

  5. myBatis抛出异常Result Maps collection already contains value ...

    原因是Eclipse编译了一份在bin目录下,将bin目录或者WEB-INF下class目录清空即可 或者Maven clean一下项目 转载于:https://www.cnblogs.com/lia ...

  6. websphere部署项目报Result Maps collection already contains value for XXX

    2019独角兽企业重金招聘Python工程师标准>>> 1.启动项目,报错了 我就看日志 2.百度查了下,喵的,说是id是xxx的 标签已经存在了,但是我在文件里找,并没有两个一样i ...

  7. Mybatis异常_02_Result Maps collection already contains value for

    一.异常 1.异常信息 2.异常原因 XXXMapper.xml文件中存在重名对象,保持名称不要一样即可正常启动. 我的原因是namespace与其他mapper 一样. 3.可能的原因 (1)nam ...

  8. mybatis 项目启动时报“Result Maps collection already contains value forxxx”错误

    在使用mybatis的逆向工程生成代码时报错,"Result Maps collection already contains value forxxx"有可能是如下原因: 生成的 ...

  9. 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 ...

最新文章

  1. 操作系统知识点:全面
  2. npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! test_vue_0613@1.0.0 dev: 错误的解决方法
  3. 从零开始入门 K8s | K8s 的应用编排与管理
  4. linux 同步 mac,WorkFlowy Beta for Mac(跨平台同步笔记工具)
  5. C# in Depth-类型系统的特征
  6. 数据中心SDN技术发展应用之MP-BGP
  7. python dataframe 列赋值_dataframe根据新列特征的条件为其赋值,给
  8. mysql 处理数据_MySQL数据库,如何处理重复的数据?
  9. python分配红包程序_Python版微信红包分配算法
  10. Sublime 自定义格式化快捷键
  11. 面试准备——(二)专业知识(1)Linux
  12. S4 HANA BP 维护客户信贷管理数据
  13. 实现IDM高速下载磁力链接,bt种子,解决百度云、迅雷下载限速
  14. 开设计算机专业设置问卷调查,计算机信息管理专业调查问卷 (1)
  15. 计算机网络阶段,计算机网络发展的四个阶段
  16. linux mysql backdoor_Mysql BackDoor
  17. 浅谈千万级高性能高并发网站架构
  18. 【C++】模板(初级)
  19. 解决 git 文件夹不显示绿色图标和红色图标的问题
  20. 抖音好物分享怎么做?

热门文章

  1. 学习笔记之——Python中类和对象的理解
  2. Altera 逻辑锁定
  3. [kafka]kafka术语白话
  4. 【Kafka】Docker安装kafka、搭建kafka集群
  5. 华擎服务器主板 稳定性,【华擎X570 Steel Legend主板使用总结】设置|性能_摘要频道_什么值得买...
  6. POJ 1417 True Liars(带权并查集+DP)
  7. ORACLE自学教程
  8. 域名使用HTTPS的相关配置
  9. 网络协议--网络四层协议
  10. 计算机词汇app有哪些,APP推荐 | 有哪些APP独得学霸恩宠?