BindingException: Ungültige gebundene Anweisung (nicht gefunden): com.XX.EduChapterMapper-Lösung wird angezeigt

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

Ich denke du magst

Origin blog.csdn.net/weixin_58403235/article/details/129830264
Empfohlen
Rangfolge