zoukankan      html  css  js  c++  java
  • MyBatis报错:Mapped Statements collection already contains value for XXX 的可能原因

    一、Mapped Statements collection already contains value for XXX 的可能原因

      今天在MyBatis遇到报错:Mapped Statements collection already contains value for auditExam,原因是因为auditExam写重复了,所以顺便把查到的可能原因记录一下。

    1、Mapper中存在了重复的id(同一个Mapper.xml 文件中重复出现了两个id 为XXX的方法)

      那么就需要好好检查程序报错的地方,调用对应的mapper文件里的方法id了,看看是否id命名一样

    2、有可能是parameterType和resultType,参数类型错误

      仔细检查方法中的parameterType和resultType,查看相应的参数类型是否有错,或者有空的忘记写了

    3、有可能你的sqlSessionFactory中配置了多个xml的地址。

      这时就需要仔细查看你的配置文件,是否将xml地址配重复了,将多余的删除掉。

    4、若你项目中使用了2个xml文件去对应了一个.java文件,引用了同一个方法,而方法id相同就可能会出 现,比如:userDao.xml,userExlDao.xml,有多个mapper.xml, 执行sql时是随机找了一个xml来绑定ResultMap,就可能会出现此问题,那么这个时候就需要指定xml文件的加载顺序了。

    5、多数据源的情况下,同一mapper文件被扫描了多次,导致异常。

  • 相关阅读:
    Linux操作系统(二)
    匿名函数和内置函数
    BeautifulSoup
    Robots协议
    列表和生成器表达式
    迭代器
    排序总结
    图论专题笔记
    Trie树的二三事QWQ
    二分答案经典入门题:)
  • 原文地址:https://www.cnblogs.com/goloving/p/14915202.html
Copyright © 2011-2022 走看看