如何解决Mybatis--java.lang.IllegalArgumentException: Result Maps collection already contains value for X
作者:SilenceBiuBiu 发布时间:2022-03-20 10:35:44
标签:resultmap,collection
这两天因为项目需要整合spring、struts2、mybatis三大框架,但启动的时候总出现这个错误,困扰我好久,在网上找到的答案都不是我想要的,今天终于知道原因了。
user-mapper.xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.bmdc.dj.user.dao.UserDao">
<resultMap type="user" id="userResult">
<id property="user_id" column="USER_ID"/>
<result property="login_name" column="LOGIN_NAME"/>
<result property="real_name" column="REAL_NAME"/>
<result property="password" column="PASSWORD"/>
</resultMap>
<insert id="add" parameterType="user">
insert into users (user_id, login_name, real_name, password)
values(#{user_id}, #{login_name}, #{real_name}, #{password})
</insert>
</mapper>
其中,namespace是接口路径。
Mybatis.xml如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 别名 -->
<typeAliases>
<typeAlias type="com.bmdc.dj.user.domain.User" alias="user"/>
</typeAliases>
<mappers>
<mapper resource="com/bmdc/dj/user/dao/user-mapper.xml" />
</mappers>
</configuration>
其他配置文件都正确,我就不写了。这样就会出现 Java.lang.IllegalArgumentException: Result Maps collection already contains value for XXX这个错误。
解决办法是:删除Mybatis.xml中的<mappers>标签所有内容。因为如果user-mapper.xml与namespace的接口在同一路径下,就不需要在mybaits.xml中再进行配置了。
修改后的Mybatis.xml如下:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!-- 别名 -->
<typeAliases>
<typeAlias type="com.bmdc.dj.user.domain.User" alias="user"/>
</typeAliases>
</configuration>
以上所述是小编给大家介绍的如何解决Mybatis--java.lang.IllegalArgumentException: Result Maps collection already contains value for X网站的支持!
来源:http://blog.csdn.net/silencebiubiu/article/details/53885471


猜你喜欢
- 排序二叉树概念二叉排序树(Binary Sort Tree),又称二叉查找树(Binary Search Tree),亦称二叉搜索树。是数据
- 导读导读 | 12月总体来说互联网的技术圈是非常热闹的,chatGPT爆火,SpringBoot3.0发布等重磅陆消息续进入大家的视线,而本
- 1.概述1、Spring 是轻量级的开源的 JavaEE 框架2、 Spring 可以解决企业应用开发的复杂性3、Spring 有两个核心部
- 如果项目中使用到了MyBatis框架,那么使用通用Mapper和PageHelper分页插件将极大的简化我们的操作。通用Mapper可以简化
- 1.官方地址:http://mybatis.plus/guide/generator.html#%E4%BD%BF%E7%94%A8%E6%
- 开发环境使用jdk1.8.0_60,把springboot 项目打成war包后,部署到apache-tomcat-7.0.68时报错如下,换
- ObjectMapper 忽略字段大小写核心代码:ObjectMapper mapper = new ObjectMapper();mapp
- 估计学过Unix开发但是没有细致学习Java的同学们会疑惑了,操作系统里面是没有所谓的守护线程的概念,只有守护进程一说,但是Java语言机制
- 本文为大家分享了一个简单的android左滑删除控件,供大家参考,具体内容如下import android.animation.ValueA
- 后台管理页面往往需要登录才可以进行操作,这时就需要Seession来记录登录状态要实现起来也是非常简单,只需要自定义一个HandlerInt
- 属性(Attribute)是C#程序设计中非常重要的一个技术,应用范围广泛,用法灵活多变。本文就以实例形式分析了C#中属性的应用。具体入戏:
- 本文实例讲述了Android编程实现状态保存的方法。分享给大家供大家参考,具体如下:1、当我们正在发短信的时候,已经写了几百字了,这时突然来
- 环境JDK 1.8Spring Boot 2.3.0.RELEASEMaven 3.6.1H2 数据库用户名密码登录首先,我们用 Sprin
- 本文实例讲述了Java笛卡尔积算法原理与实现方法。分享给大家供大家参考,具体如下:笛卡尔积算法的Java实现:(1)循环内,每次只有一列向下
- 前言异常崩溃,是Android项目中一项比较棘手的问题,即便做了很多的try - catch处理,也不能保证上线不会崩,而且一旦出现崩溃,就
- Android AsyncTask详解及使用方法 简介: AsyncTask就是一个封装过的后
- AudioSource 组件参考属性属性说明Clip音频资源Volume音量大小Mute是否静音Loop是否循环Play on load加载
- 在上一篇文章中,我们学习了Camera的基本用法,并借助它们编写了一个例子,实现了类似于API Demos里的图片中轴旋转功能。不过那个例子
- 本文为大家分享了Java多线程实现Runnable方式的具体方法,供大家参考,具体内容如下(一)步骤 1.定义实现Runnable
- Android 添加系统设置属性的实现及步骤Android源码开发中,常常要用到一些全局标志或者说变量,这时候我们可以给android系统添