Vorwort
Die meisten Projekte verwenden jetzt MyBatis, aber einige Unternehmen verwenden Hibernate. Das größte Merkmal bei der Verwendung von MyBatis ist, dass SQL selbst geschrieben werden muss und das Schreiben von SQL mehrere Parameter übergeben muss. Die Übergabe von Parametern ist auch eine Art Kenntnis.
Im Folgenden fassen wir die folgenden Methoden der Mehrparameterübertragung zusammen.
Methode 1: Sequentielle Parameterübertragungsmethode
Die Zahlen in #{} stellen die Reihenfolge dar, in der Sie die Parameter übergeben.
Diese Methode wird nicht empfohlen, der SQL -Schicht -Ausdruck ist nicht intuitiv und Fehler sind anfällig für die Einstellung der Reihenfolge.
Methode 2: @Param Annotationsmethode zum Übergeben von Parametern
Der Name in #{} entspricht dem in der Annotation @Param -Klammern geänderten Namen.
Diese Methode ist ziemlich intuitiv, wenn nicht viele Parameter vorhanden sind, daher wird empfohlen, sie zu verwenden.
Methode 3: MAP -Parameterübertragungsmethode
Der Name in #{} entspricht dem Schlüsselnamen in der Karte.
Diese Methode eignet sich zum Übergeben mehrerer Parameter und die Parameter sind flüchtig und können flexibel übertragen werden.
Methode 4: Java -Bean -Parameterübertragungsmethode
Der Name in #{} entspricht den Mitgliedsattributen in der Benutzerklasse.
Diese Methode ist sehr intuitiv, erfordert jedoch den Aufbau einer Entitätsklasse. Es ist nicht einfach zu erweitern. Es erfordert das Hinzufügen von Attributen, die gemäß der Situation verwendet werden sollen.
Parameterübergabemethode bei Verwendung der Mapper -Schnittstelle
Wenn MyBatis die Mapper -Schnittstelle für die Programmierung verwendet, verwendet die zugrunde liegende Ebene einen dynamischen Proxy -Mechanismus, der auf der Oberfläche aufgerufen wird. Tatsächlich erfolgt jedoch die entsprechende Methode der SQLSession, die vom dynamischen Proxy wie SelectOne () bezeichnet wird. Interessierte Freunde können die GetMapper () -Methode von defaultSQLSession überprüfen, die schließlich ein Mapperproxy -Objekt erhält, das die Mapper -Schnittstelle verfolgt. Wenn das MapperProxy -Objekt die Mapper -Schnittstellenmethode aufruft, konvertiert es die übergebenen Parameter und verwendet dann die konvertierten Parameter als Parameter, um die entsprechenden Betriebsmethoden aufzurufen, die SQLSession entsprechen (z. B. SelectOne, Einfügung usw.). Der Konvertierungsprozess kann unter Bezugnahme auf die Methode Execute () von MapperMethod implementiert werden. Einfach ausgedrückt, die folgenden Regeln:
1. Wenn der übergebene Durchgang ein einzelner Parameter ist und nicht mit der @Param-Annotation benannt ist, wird die entsprechende Methode der SQLSession direkt mit dem einzelnen Parameter als realer Parameter aufgerufen.
2. Wenn der übergebene Parameter kein einzelner Parameter ist oder Parameter enthält, die mit @Param -Annotation benannt sind, wird der entsprechende Parameter zum Übergeben in eine Karte konvertiert. Die spezifischen Regeln sind wie folgt:
2.1. Die entsprechenden Parameter werden als Schlüssel in der Zielkarte in der Form von Param1, Param2 und Paramn in der Reihenfolge gespeichert. Der erste Parameter ist Param1 und der N -te Parameter ist paramn.
2.2. Wenn der Parameter ein Parameter mit @Param -Annotation ist, wird er in der Zielkarte mit dem von @Param als Schlüssel angegebenen Namen gespeichert.
2.3. Wenn die Parameter nicht nach @Param -Annotation benannt sind, werden sie in Form von 0, 1 und N in der Reihenfolge als Schlüssel in der Zielkarte gespeichert. Der erste Parameter ist 0 und der N -te Parameter ist N.
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Referenzwert für das Studium oder die Arbeit eines jeden hat. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen. Vielen Dank für Ihre Unterstützung bei Wulin.com.