Fehlerszenario:
Ich glaube, dass dieser Fehler beim Schreiben von SQL-Anweisungen in Mybatis häufig auftritt, und er wird hier nur als Referenz aufgezeichnet.
Programmfehler: „ org.apache.ibatis.binding.BindingException: Ungültige gebundene Anweisung (nicht gefunden): com.xxx.xxx “
Ursachenanalyse:
Die Ausnahme führt dazu, dass bei Verwendung des MyBatis-Plus- Persistenzframeworks die Bindung zwischen Mapper.java und Mapper.xml fehlschlägt und die Bindungsbeziehung falsch ist. Daher denken wir natürlich, ob der Zuordnungsname, der Rückgabetyp oder der Namespace der Mybatis-Methode falsch sind. Wenn der Vergleich korrekt ist, müssen wir prüfen, ob unser Zuordnungspfad korrekt ist.
Lösung:
Zunächst einmal: Um zu bestätigen, dass bei der Erstellung Ihres Projekts kein Problem vorliegt, können Sie Maven bereinigen und erneut aktualisieren. Wenn weiterhin ein Fehler auftritt, fahren Sie mit dem nächsten Schritt fort.
Schritt 2: Überprüfen Sie, ob die Adresse, auf die Ihr eigener Namespace verweist, korrekt ist. Wie im Bild unten gezeigt: (Sie können STRG + linke Maustaste drücken, um zu sehen, ob Sie springen können.)
Schritt 3: Überprüfen Sie, ob die Methodennamenzuordnung und das Rückgabeobjekt in Mapper.xml mit Mapper.java übereinstimmen. Wie nachfolgend dargestellt:
Auch hier können Sie durch Klicken auf STRG + linke Maustaste prüfen, ob Sie springen können
Schritt 4: Überprüfen Sie den Speicherort Ihrer Mapper.xml (ich wurde hier erwischt)
Wenn Ihr Mapper das Bild unten wie meins speichert, müssen Sie es in der POM-Datei konfigurieren. Dies liegt daran, dass Maven standardmäßig nur Java-Dateien unter dem Java-Paket erkennt.
Der pom.xml-Code lautet wie folgt:
<!-- 如果不添加此节点mybatis的mapper.xml文件都会被漏掉。 -->
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
Da meine Datei „mapper.xml“ unter „/mapper/xml“ und „mapper.java“ unter „/mapper“ abgelegt ist , gehören sie nicht zur gleichen Verzeichnisebene und müssen daher in „ application.yml“ konfiguriert werden . Wenn sich „mapper.xml“ und „mapper.java“ im selben Verzeichnis befinden, ist kein Betrieb erforderlich. Code wie folgt anzeigen:
# Ändern Sie den Pfad in Ihren eigenen mapper.xml-Pfad mybatis-plus: mapper-locations: classpath:com/xin/eduservice/mapper/xml/*.xml
Bisher ist der Vorgang erfolgreich und die Lösung für org.apache.ibatis .binding.BindingException : Ungültige gebundene Anweisung (nicht gefunden): com.xxx.xxx wird hier geschrieben. Wenn Sie Fragen haben oder auf Probleme stoßen, hinterlassen Sie bitte eine Nachricht im Kommentarbereich