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文件被扫描了多次,导致异常。

  • 相关阅读:
    最长上升子序列问题
    多重部分和问题 (dp)
    01背包问题的延伸即变形 (dp)
    完全背包问题入门 (dp)
    最长公共子序列问题
    01背包入门 dp
    POJ 30253 Fence Repair (二叉树+优先队列)
    POJ 3069 Saruman's Army (模拟)
    [leetcode-357-Count Numbers with Unique Digits]
    [leetcode-474-Ones and Zeroes]
  • 原文地址:https://www.cnblogs.com/goloving/p/14915202.html
Copyright © 2011-2022 走看看