mybatis IllegalArgumentException: Die Auflistung der zugeordneten Anweisungen enthält keinen Wert

9

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%     
user1671106 08.01.2013, 16:26
quelle

10 Antworten

8

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.

  • interface = xxx.yyy.mappers.SettingMapper.class
  • Zuordnungsdatei = /xxx/yyy/mappers/SettingMapper.xml
  • mapper namespace = xxx.yyy.mappers.SettingMapper
mahesh 03.10.2013 13:24
quelle
3

Hi, dieses Problem ist normalerweise mit Mapper-Standorten verbunden. Versuchen Sie also, die mapperLocation-Eigenschaft in Ihrer Bean festzulegen:

%Vor%

Hoffen Sie, dass es hilft!

    
Oibaf it 05.04.2013 10:55
quelle
3

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 Ссылка

    
jediz 21.10.2013 09:01
quelle
2

In meinem Fall, was passiert ist, gab es eine TYPO in meinem Methodennamen in der Mapping-XML-Datei.  Wenn ich den DAO-Namen geändert habe, habe ich vergessen, in der XML-Datei zu ändern, es kann jemand anderem helfen.

    
Vins 08.05.2015 19:53
quelle
2

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

    
Lucky 23.02.2016 05:47
quelle
1

Duplicated id in mapper.xml löst auch eine solche Ausnahme aus. Hoffe, das hilft.

    
okin2014 28.06.2015 01:55
quelle
1

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!

    
mos wen 22.03.2016 10:59
quelle
0

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:

  1. Ändern Sie den Java-Typ in mybtis-Aliase a) "java.lang.Long" - & gt; "lang", b) "com.aieap.model.Comuni" - & gt; "comuni"

  2. 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

    
user1959366 08.01.2013 20:51
quelle
0

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!

    
normalUser 24.10.2015 12:48
quelle
0

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%     
zafar142003 27.12.2015 12:23
quelle

Tags und Links