Result Maps collection already contains value for com.zhaike.mapping.ChapterMapper.BaseResultMap

Error creating bean with name 'courseController': Unsatisfied dependency expressed through field 'courseService'; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException

关于这个问题,网上解答很嘈杂,不同的人遇到的实际问题也不尽相同。今天启动项目时报了这个错,查了很长时间,下面就这个问题列举了一些可能出错的地方。

1、当同一个xml映射文件内存在两个相同的id(即两个sql语句的id相同)时会报此错

解决:查询sql语句的id值修改

2、在mybatis的配置文件mybatis.xml内使用了<mapper/>标签加载xxxMapper.xml的映射文件报错,因为如果xxxMapper.xml与namespace的接口在同一路径下,就不需要在mybaits.xml中再进行配置了。

解决:将mybatis文件中<mapper/>标签中的内容删除

3、parameterType中的问题。这里的类名如果找不到也会报这个错,比如你之前是将该类名写死在这里,之后由于重构将该类转移到其他包中,如果这里不修改也会报这个错

解决:检查。。

4、还是parameterType中的问题,这次是关于自定义类的,当你使用基本类型的时候,比如int、string等,千万不要写错,比如写成strnig,咋一看看不出来,结果该问题就很难找

解决:检查。。

5、resultType的值与resultMap的id值相同的话会报错,可能是冲突了

解决:修改resultMap的id属性,因为resultType的值即为bean类别名或者全路径名

6、这一点和上一点差不多,如果是自定义resultMap,如果返回类型写成resultType,也会报这个错(今天就载在这。)

解决:将返回类型改为resultMap,且不要出现第5点的问题

 1 <resultMap type="com.zhaike.entity.Course" id="allCourses"  extends="BaseResultMap">
2 <collection property="chapters" ofType="com.zhaike.entity.Chapter" select="selectchapters"
3 column="{courseId=id}">
4 <!--column把第一次查询的结果 到第二次查询中去 courseId和#{courseId}对应 -->
5 </collection>
6 </resultMap>
7 <!--自定义查询sql-->
8 <select id="selectAllCourse" resultType="allCourses">/* 自定义类型写出resultMap 而不可以是resultType*/
9 select * from course c;
10 </select>
11 <select id="selectchapters" resultMap="com.zhaike.mapping.ChapterMapper.BaseResultMap">
12 select * from chapter where courseId = #{courseId}
13 </select>
<resultMap type="com.zhaike.entity.Course" id="allCourses"  extends="BaseResultMap">
<collection property="chapters" ofType="com.zhaike.entity.Chapter" select="selectchapters"
column="{courseId=id}">
<!--column把第一次查询的结果 到第二次查询中去 courseId和#{courseId}对应 -->
</collection>
</resultMap>
<!--自定义查询sql-->
<select id="selectAllCourse" resultType="allCourses">/* 自定义类型写出resultMap 而不可以是resultType*/
select * from course c;
</select>
<select id="selectchapters" resultMap="com.zhaike.mapping.ChapterMapper.BaseResultMap">
select * from chapter where courseId = #{courseId}
</select>

ssm 关于mybatis启动报Result Maps collection already contains value for ...的问题总结的更多相关文章

  1. mybatis(错误一) 项目启动时报“Result Maps collection already contains value forxxx”的解决方案

    Result Maps collection already contains value for xyx.dsw.dao.mapper.admin.quotationwish.TempTestTab ...

  2. MyBatis错误:Result Maps collection already contains value for novel.storage.mapper.NovelMapper.BaseResultMap

    今天在写项目的时候遇到一个问题如下: org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession. ...

  3. Mybatis错误:Result Maps collection already contains value for ***

    [转载]原文链接:https://blog.csdn.net/maoyuanming0806/article/details/77870345 使用mybatis时,服务器启动时出错 严重: Exce ...

  4. mybatis(错误) 项目启动时报“Result Maps collection already contains value forxxx”的解决方案

    使用逆向工程生成代码时,一定要将原来的代码删除干净,如果覆盖的话,不是真正的覆盖,在原来的代码上增加重复的代码,导致出错

  5. idae父子项目Test执行报Result Maps collection already contains value for xxx

    现象:同一个springmvc工程使用eclipse和idea用Tomcat启动都没问题,但是如果走单元测试使用到了@ContextConfiguration这个spring的上下文注解idea出问题 ...

  6. Mybatis错误:Result Maps collection already contains value for 。。。。

    解决方法 原因:xml文件中存在重名对象,保持名称不要一样即可正常启动.因为我再次使用逆向工程生成mapper接口和xml文件时,忘了删除原来的xml文件,新生成的与旧的同时出现旧重复了. 那么我们在 ...

  7. mybatis 异常Result Maps collection does not contain value for java.lang.String

    Result Maps collection does not contain value for java.lang.String 以上是我报的错. 只要报Result Maps collectio ...

  8. mybatis启动报错Result Maps collection already contains value forxxx

    ssm搭建过程中启动tomcat,报错: Cause: java.lang.IllegalArgumentException: Result Maps collection already conta ...

  9. 使用mybatis报错【Result Maps collection already contains value for ...BaseResultMap】的解决方法

    Result Maps collection already contains value for ...BaseResultMap ...... 这个问题,相信大家在使用mybatis的重新生成 d ...

随机推荐

  1. 【CF712E】Memory and Casinos(数学 期望 DP)

    题目链接 大意 给出一个序列,当你在某个点时,有一个向右走的概率\(P_i\)(向左为\(1-P_i\)), 给出\(M\)个操作,操作有两类: 1 X Y Z:把\(P_X\)的值修改为\(\fra ...

  2. Ansible playbook实现apache批量部署,并对不同主机提供以各自IP地址为内容的index.html

    1.基于key验证免密授权 1.1 生成kekgen # ssh-keygen Generating public/private rsa key pair. Enter file in which ...

  3. 《手把手教你》系列技巧篇(六十五)-java+ selenium自动化测试 - cookie -下篇(详细教程)

    1.简介 今天这一篇,宏哥主要讲解:利用WebDriver 提供可以读取.添加和删除cookie 信息的相关操作方法.验证浏览器中是否存在某个cookie.原因是:因为基于真实的cookie 的测试是 ...

  4. 使用代码绑定 DataGridView 控件用于程序界面显示表格

    需求 软件界面需要使用表格,对数据进行显示.交互,这是一个非常通用的需求. 实现方法 DataGridView介绍 参考 https://docs.microsoft.com/en-us/dotnet ...

  5. JavaScript 的DOM操作详解

    内容概要 DOM之查找标签 基本查找 间接查找 节点操作 获取值操作 class操作 样式操作 事件 内置参数this 事件练习 内容详细 DOM操作 DOM(Document Object Mode ...

  6. MySQL基本数据类型与约束条件

    昨日内容回顾 数据存储的演变 # 方向: 朝着更加统一和方便管理 数据库的发展史 # 由本地保存逐步演变为线上保存 数据库的本质 # 本质上就是一款CS架构的软件 """ ...

  7. 『无为则无心』Python基础 — 44、对文件和文件夹的操作

    目录 1.os模块介绍 2.查看os模块相关文档 3.os模块常用方法 (1)文件重命名 (2)删除文件 (3)创建文件夹 (4)删除文件夹 (5)获取当前目录 (6)改变默认目录 (7)获取目录列表 ...

  8. JVM学习——G1垃圾回收器(学习过程)

    JVM学习--G1垃圾回收器 把这个跨时代的垃圾回收器的笔记独立出来. 新生代:适用复制算法 老年代:适用标记清除.标记整理算法 二娃本来看G1的时候觉得比较枯燥,但是后来总结完之后告诉我说,一定要慢 ...

  9. log4j的替换方案

    去年12月份,随着log4j暴露出高危漏洞,对于 Java 开发人员来说不是一个好消息,对于 Ops 来说更是如此.前者必须使用固定的 Log4J 版本重新打包他们的应用程序,而后者必须重新部署.但对 ...

  10. Python中模块、类、函数、实例调用案例

    19 a = '我是模块中的变量a' 20 21 def hi(): 22 a = '我是函数里的变量a' 23 print('函数"hi"已经运行!') 24 25 class ...