Ich habe viele Probleme mit Feder e mybatis. Dies ist meine Frühlingskonfiguration: Ich habe die gleiche Konfiguration und ComuneMapper.java und ComuneMapper.xml bleiben in den gleichen Ordnern. aber ich habe aber diesen fehler Jemand, um mir zu helfen,
%Vor%jdbc-context.xm:
%Vor%sqlmap-config.xml:
%Vor%Controller:
%Vor%Dies ist der Fehler:
%Vor%bitte !!! jemand hilf mir ich bin hoffnungslos !!!!!!!!!!!!!!!
Ich hatte es vergessen. das ist ComuniMapper.java
%Vor%Beenden Sie diese ComuniMapper.xml:
%Vor%Es kann mehrere Gründe geben ...!
- & gt; SQL Syntax (möglicherweise eine einzelne kleine Abfrage hat ein zusätzliches "," am Ende der Auswahl)
- & gt; Classpath-Probleme können JAR-Abhängigkeiten nicht auflösen
- & gt; Dies kann auch aufgrund eines Dateicodierungsproblems oder ungültiger XML-Zeichen in Ihrer * Mapper.xml-Datei auftreten. (also pass auf deinen Editor auf!)
Am wichtigsten ist, dass Sie die gleichen Namen für verwenden sollten.
Dies bedeutet normalerweise, dass mybatis die Zuordnung, auf die Sie sich beziehen, nicht finden kann. Vielleicht haben Sie vergessen, die Datei * Mapper.xml zu mybatis-config.xml hinzuzufügen (was eine Standard-Konfigurationsdatei für MyBatis ist)
%Vor%Weitere Informationen finden Sie in der Dokumentation Ссылка
Zu den anderen Antworten hinzufügen, müssen Sie auch
Suchen Sie nach doppelten Methodennamen
Dieser Fehler kommt zuletzt im Protokoll.
%Vor%Ignorieren Sie die obige Nachricht und verschieben Sie einfach Ihre Protokolle und suchen Sie nach der ersten Fehlermeldung in den Protokollen. Der erste Fehler, den ich bekam, war,
%Vor% Der Fehler weist eindeutig darauf hin, dass die Methode getAllUserDetails
bereits in der Schnittstelle UserMapper
existiert (mit unterschiedlicher Anzahl von Parametern). Durch das Duplizieren der Methodennamen wird dieser Fehler ebenfalls ausgelöst. (Die Strafe für Copy-Pasting-Codes): P
Ich bin auch auf dieses Problem gestoßen. Zusätzlich zu der Möglichkeit der obigen Antwort versuche ich diesen Weg zu benutzen, der das Problem löst:
Der Methodenname sollte in dao
und mapper.xml
gleich sein, in meinem Fall ist der Methodenname nicht derselbe. Sie müssen also sicher sein, dass sie gleich sind.
Viel Glück!
Ich benutze mybatis genauso wie du. Dein Code sieht gut aus. Auch ich bin mir nicht sicher, ob es ein Problem mit Typzuordnungen gibt. Versuchen Sie zwei folgende Tipps, um Ihr Problem zu beheben:
Ändern Sie den Java-Typ in mybtis-Aliase a) "java.lang.Long" - & gt; "lang", b) "com.aieap.model.Comuni" - & gt; "comuni"
Versuchen Sie, Alias anstelle von XML-Mapping hinzuzufügen @ org.apache.ibatis.type.Alias ("comuni") in com.aieap.model.Comuni, entferne xml typeAlias, füge eine Springkonfiguration zu deinem org.mybatis.spring.SqlSessionFactoryBean hinzu:
Viel Glück, Martin
Ich hatte ein ähnliches Problem. Dann stellte ich fest, dass alle Anfragen, bei denen die in dieser Mapper.xml definierten Abfragezuordnungen den gleichen Fehler aufweisen.
Dies liegt möglicherweise an falschem Build von WAR oder falscher Bereitstellung auf dem Server. Wie auch immer, ich habe diese WAR-Datei gelöscht und erneut implementiert und es hat funktioniert!
Ich bin auch auf diese Ausnahme gestoßen. In meinem Fall war die Mapper-XML-Datei in einer JAR enthalten, die im Klassenpfad enthalten war, aber irgendwie konnte sie nicht von MapperScannerConfigurer gefunden werden. Ich habe das durch das Lesen der Logbücher erfahren. Sie sollten die Protokolle lesen und die Zeile des folgenden Formats überprüfen, um festzustellen, ob Mapper gefunden werden. Ich musste den Root-Pfad angeben, nach dem er meinen Mapper gefunden hat.
%Vor%