In den letzten zwei Tagen muss das Projekt die drei Hauptrahmen von Spring, Struts2 und MyBatis integrieren, aber dieser Fehler tritt immer beim Start auf, was mich lange Zeit beunruhigt hat. Die Antworten, die ich online gefunden habe, sind nicht das, was ich will. Heute kenne ich endlich den Grund.
Die Benutzer-mapper.xml lautet wie folgt:
<? namespace = "com.bmdc.dj.user.dao.userdao"> <resultmap type = "user" id = "usserresult"> <id Eigenschaft = "user_id" column = "user_id"/> <resulting Eigenschaft = "login_name" column = "loginname"/> <resulting Eigenschaft = "real_name" columname "cools"/> <resulting adfort = "real_name" columol = "password"/> </resultmap> <einfügen id = "add" parameterType = "user"> in Benutzer einfügen (user_id, login_name, real_name, password) Werte ( #{user_id}, #{login_name}, #{real_name}, #{kennwort}) </</mactor>Wo der Namespace der Schnittstellenpfad ist.
Mybatis.xml ist wie folgt:
<? Type = "com.bmdc.dj.user.domain.user" alias = "user"/> </typealias> <mapper resource = "com/bmdc/dj/user/dao/user-mapper.xml"/> </mappers> </configuration>
Die anderen Konfigurationsdateien sind korrekt, so dass ich sie nicht schreibe. Dies führt zu dem Fehler java.lang.IilleGalargumentException: Die Erfassung der Ergebniskarten enthält bereits Wert für XXX.
Die Lösung lautet: Alle Inhalte des <mappers> -Tags in mybatis.xml löschen. Denn wenn die Schnittstelle zwischen user-mapper.xml und Namespace auf demselben Pfad liegt, müssen sie nicht in mybaits.xml konfiguriert werden.
Die modifizierte mybatis.xml lautet wie folgt:
<? Type = "com.bmdc.dj.user.domain.user" alias = "user"/> </typealias> </configuration>
Das obige ist die Einführung des Herausgebers in die Lösung von MyBatis-Java.lang.ILLEGALARGUMENTException: Ergebniskartensammlung enthält bereits Wert für X. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!