ssm 关于mybatis启动报Result Maps collection already contains value for ...的问题总结
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 ...的问题总结的更多相关文章
- mybatis(错误一) 项目启动时报“Result Maps collection already contains value forxxx”的解决方案
Result Maps collection already contains value for xyx.dsw.dao.mapper.admin.quotationwish.TempTestTab ...
- MyBatis错误:Result Maps collection already contains value for novel.storage.mapper.NovelMapper.BaseResultMap
今天在写项目的时候遇到一个问题如下: org.apache.ibatis.exceptions.PersistenceException: ### Error building SqlSession. ...
- Mybatis错误:Result Maps collection already contains value for ***
[转载]原文链接:https://blog.csdn.net/maoyuanming0806/article/details/77870345 使用mybatis时,服务器启动时出错 严重: Exce ...
- mybatis(错误) 项目启动时报“Result Maps collection already contains value forxxx”的解决方案
使用逆向工程生成代码时,一定要将原来的代码删除干净,如果覆盖的话,不是真正的覆盖,在原来的代码上增加重复的代码,导致出错
- idae父子项目Test执行报Result Maps collection already contains value for xxx
现象:同一个springmvc工程使用eclipse和idea用Tomcat启动都没问题,但是如果走单元测试使用到了@ContextConfiguration这个spring的上下文注解idea出问题 ...
- Mybatis错误:Result Maps collection already contains value for 。。。。
解决方法 原因:xml文件中存在重名对象,保持名称不要一样即可正常启动.因为我再次使用逆向工程生成mapper接口和xml文件时,忘了删除原来的xml文件,新生成的与旧的同时出现旧重复了. 那么我们在 ...
- 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 ...
- mybatis启动报错Result Maps collection already contains value forxxx
ssm搭建过程中启动tomcat,报错: Cause: java.lang.IllegalArgumentException: Result Maps collection already conta ...
- 使用mybatis报错【Result Maps collection already contains value for ...BaseResultMap】的解决方法
Result Maps collection already contains value for ...BaseResultMap ...... 这个问题,相信大家在使用mybatis的重新生成 d ...
随机推荐
- Solution -「CodeChef JUMP」Jump Mission
\(\mathcal{Description}\) Link. 有 \(n\) 个编号 \(1\sim n\) 的格子排成一排,并有三个权值序列 \(\{a_n\},\{h_n\},\{p_n ...
- Solution -「BZOJ #3786」星系探索
\(\mathcal{Description}\) Link. 给定一棵含 \(n\) 个点的有根树,点有点权,支持 \(q\) 次操作: 询问 \(u\) 到根的点权和: 修改 \(u\) ...
- Solution -「HDU #6566」The Hanged Man
\(\mathcal{Description}\) Link. 给定一棵含 \(n\) 个点的树,每个结点有两个权值 \(a\) 和 \(b\).对于 \(k\in[1,m]\),分别求 \[ ...
- IDEA 2021 没有Allow parallel run
IDEA 2021 没有Allow parallel run 尝试运行多个客户端. 新版IDEA找不到Allow parallel run
- 原来VIM还可以这样玩
文章目录 配置文件vimrc vim 状态栏 状态栏配置内容 状态栏常用信息 显示状态栏 终端安全色 vimrc 配置文件 推荐 vi/vim命令大全 vim参阅 配置文件vimrc 在vim文件中执 ...
- ELK-EFK-v7.12.0日志平台部署
ELK和EFK是什么 ELK和EFK是四个开源产品的组合: Elasticsearch 一个基于Lucene搜索引擎的NoSQL数据库 Logstatsh 一个日志管道工具,接受数据输入,执行数据转换 ...
- EasyX库简单中文手册
EasyX库简单中文手册 作者: 时间: 2021/2/2 第一个例程 #include <graphics.h> // 图像相关库 #include <conio.h> // ...
- DevOpts 前端开发和 Spug
DevOpts 前端开发和 Spug 朋友新工作是进行 DevOpts 前端开发,涉及 Spug. DevOps 是什么 DevOps 是一种思想.用于促进开发和运维之间的沟通.协作或整合. Tip: ...
- MYSQL文件复制及备份
周末研究了下mysql的数据结构,记录下: 场景1:当从一台电脑的mysql的data中复制数据库的文件夹到另一台电脑上时会发现 表不存在,函数等也不存在 方法:1.需要将data根目录下的ibdat ...
- 一文带你盘点市场上主流的BI产品主要有哪些
随着时代的发展,商业智能使数据分析和数据可视化的门槛不断降低,使得企业各级人员都能进行数据分析,从而加深业务洞察,推动企业发展.而在数据分析领域,BI产品发挥了十分重要的作用. 市场需求变化日益频繁 ...