[JAVA] So ändern Sie dynamisch den von MyBatis erfassten Spaltennamen

So ändern Sie dynamisch den von MyBatis erfassten Spaltennamen

Um den Bedingungswert der where-Klausel in MyBatis dynamisch zu übergeben, ist es meines Erachtens üblich, ihn als vorbereitete Anweisung mit "#" zu behandeln, wie unten gezeigt.

SQL-Definitionsdatei.xml


<select id="getHogeValue" resultType="java.util.Map">
select * 
form hoge_table
where foo_1 = #{foovalue}
</select>

In diesem Abschnitt wird beschrieben, wie Sie die zu erfassenden Spalten dynamisch ändern. Mit anderen Worten, es ist nützlich, wenn die in der select-Klausel angegebene Spalte unbestimmt ist.

Umgebung

Java:JDK1.7 MyBatis:mybatis-3.2.5.jar

Implementierungsmethode

Anstatt es als Wert einer vorbereiteten Anweisung zu übergeben Verwenden Sie "$", um als Zeichenfolge zu übergeben.

Unten ist ein Beispiel.

Datenzugriffsklasse.java


    //Definieren Sie den dynamischen Teil des Spaltennamens in Liste
    List<Integer> columnIdList = Arrays.asList(1,2,3,4);
    
    //Legen Sie die dynamische Teileliste des Spaltennamens als Map fest
    Map params = new HashMap();
    params.put("column_id_list", columnIdList);
    
    //FOO vom Hoge Tisch_1, FOO_2, FOO_3, FOO_4, BAR_1, BAR_2, BAR_3, BAR_Holen Sie sich 4
    List<Map> hogeValueLsit = hogeTableMapper.getHogeValue(params);
    
    //Überprüfen Sie den erfassten Inhalt
    for (Map elm : hogeValueLsit) {
      int idx = 0;
      for (Integer columnId : columnIdList) {
        
        String foo = (String)elm.get("FOO_"+columnId);
        System.out.println("FOO_" + idx + "Der zweite ist" + foo + "ist.");
        
        String bar = (String)elm.get("BAR_"+columnId);
        System.out.println("BAR_" + idx + "Der zweite ist" + bar + "ist.");
        
      }
    }

SQL-Definitionsdatei.xml


    <select id="getHogeValue" resultType="java.util.Map">
    select 
      <foreach item="column_id" collection="column_id_list">
         foo_${column_id}
        ,bar_${column_id}
      </foreach>
    from hoge_table 
    </select>

wichtiger Punkt

Beachten Sie, dass der Spaltenname beim Abrufen auf der Java-Seite "Großbuchstabe" ist Auch wenn die Seite der SQL-Definitionsdatei "foo_" in Kleinbuchstaben verwendet Der Map-Schlüssel auf der Java-Seite kann nur mit "FOO_" in Großbuchstaben abgerufen werden.

das ist alles.

Recommended Posts

So ändern Sie dynamisch den von MyBatis erfassten Spaltennamen
[Ruby on Rails] So ändern Sie den Spaltennamen
[Rails] So ändern Sie den Spaltennamen der Tabelle
[Swift] So ändern Sie dynamisch die Höhe der Symbolleiste auf der Tastatur
So ändern Sie den App-Namen in Rails
[Schienen] So erstellen Sie eine Tabelle, fügen eine Spalte hinzu und ändern den Spaltentyp
So verweisen Sie auf eine Spalte, wenn Sie die Spaltennamensmethode in ActiveRecord überschreiben
So ändern Sie die Aktion mit mehreren Senden-Schaltflächen
So kehren Sie durch Wischen zum vorherigen Bildschirm zurück
[Java] So extrahieren Sie den Dateinamen aus dem Pfad
So wechseln Sie zum Detailbildschirm, indem Sie auf das Bild klicken
Ändern Sie den Primärschlüssel der Datenbank (MySQL) in eine beliebige Spalte.
[Ruby on Rails] Ändern Sie die URL-ID in den Spaltennamen
[Java] Anzeigen der von LocalDate und DateTimeformatter erfassten Tage auf Japanisch
So erhalten Sie den Namen einer Klasse / Methode, die in Java ausgeführt wird
So verbinden Sie die Zeichenfolgen in der Liste durch Kommas getrennt
Git Einfache Möglichkeit, vor der Änderung in den Status zurückzukehren (vor dem Festschreiben)
So ändern Sie den Einstellwert von Springboot Hikari CP
[Rails] So zeigen Sie eine Liste der Beiträge nach Kategorie an
So ändern Sie den Inhalt der JAR-Datei, ohne sie zu dekomprimieren
So legen Sie die IP-Adresse und den Hostnamen von CentOS8 fest
[Rails] Wie man Kaminari mit Slim einführt und das Design ändert
[Schienen] So ändern Sie den Seitentitel des Browsers für jede Seite
Verwenden Sie JUL, um das von MyBatis ausgegebene Ausführungsprotokoll von SQL aufzuzeichnen
So erhalten Sie die ID des automatisch inkrementierten PRIMAY-Schlüssels in MyBatis
[chown] So ändern Sie den Eigentümer einer Datei oder eines Verzeichnisses
[Für Anfänger] So erhalten Sie den Namen der Ruby-Eisenbahnlinie
[Rails 5] Anzeigen des Bildschirms zum Ändern des Kennworts bei Verwendung von devise
Verwendung der link_to-Methode
Verwendung der include? -Methode
Wechseln Sie dynamisch die Datenbank, zu der eine Verbindung hergestellt werden soll
So finden Sie den durchschnittlichen Winkel
Verwendung der Wrapper-Klasse
So ändern Sie den kube-proxy in den ipvs-Modus.
Verwendung der MyBatis Mapper-Annotation
So benennen Sie Variablen in Java
So fügen Sie die Löschfunktion hinzu
So wechseln Sie von HTML zu Haml
[Swing] So zeigen Sie einen beliebigen Namen in der Menüleiste des Mac an
Fügen Sie das Datum zu den von gcutil erfassten GC-Statistiken hinzu und geben Sie es aus.
So ändern Sie die maximale und maximale Anzahl von POST-Daten in Spark
So ändern Sie den Wert einer Variablen an einem Haltepunkt in IntelliJ
So machen Sie https zum Schema der URL, die vom URL-Helfer von Rails generiert wurde
[swift5] So ändern Sie die Farbe der TabBar oder die Farbe des TabBar-Elements mit Code
So verhindern Sie die doppelte Verarbeitung durch addEventListener
[Java] Verwendung der File-Klasse
Wie man Variablen benennt 7 Auswahl von Unbehagen
So löschen Sie die Fehlerbündelung
[Schienen] Verwendung der Kartenmethode