En los últimos dos días, el proyecto necesita integrar los tres marcos principales de Spring, Struts2 y MyBatis, pero este error siempre ocurre cuando se lanza, lo que me ha preocupado durante mucho tiempo. Las respuestas que encontré en línea no son lo que quiero. Hoy finalmente sé la razón.
El usuario-Mapper.xml es el siguiente:
<? xml versión = "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 propiedad = "user_id" columna = "user_id"/> <resultado propiedad = "login_name" column = "login_name"/> <resultante = "real_name" columna = "real_name"/> <contraseña de resultados = "contraseña" columna = "Password"/> </resultMap> <Insert id = "Agregar" Parametertype = "User"> Insertar en usuarios (user_id, login_name, real_name, contraseña) valores ( #{user_id}, #{login_name}, #{real_name}, #{contraseña}) </sert> </mepper>Donde el espacio de nombres es la ruta de la interfaz.
Mybatis.xml es el siguiente:
<? xml versión = "1.0" encoding = "utf-8"?> < Type = "com.bmdc.dj.user.domain.user" alias = "user"/> </typealiases> <mapper resource = "com/bmdc/dj/user/dao/user-mapper.xml"/> </ mappers> </figuration>
Los otros archivos de configuración son correctos, por lo que no los escribiré. Esto causará el error java.lang.illegalargumentException: la colección de mapas de resultados ya contiene valor para xxx.
La solución es: eliminar todo el contenido de la etiqueta <Mappers> en mybatis.xml. Porque si la interfaz entre user-mapper.xml y el espacio de nombres están en la misma ruta, no hay necesidad de configurarla en mybaits.xml.
El mybatis.xml modificado es el siguiente:
<? xml versión = "1.0" encoding = "utf-8"?> < Type = "com.bmdc.dj.user.domain.user" alias = "user"/> </typealiases> </figuration>
Lo anterior es la introducción del editor a cómo resolver mybatis-java.lang.illegalargumentException: la colección de mapas de resultados ya contiene valor para X. Espero que sea útil para todos. Si tiene alguna pregunta, déjame un mensaje y el editor responderá a todos a tiempo. ¡Muchas gracias por su apoyo al sitio web de Wulin.com!