[JAVA] Entsprechung zwischen dem Spaltennamen der mybatis-Tabelle und dem Feldnamen

Annahme

Ich werde den Mechanismus (Zuordnung) erläutern, der den Tabellenspaltennamen mit dem Feldnamen verknüpft, der im Code in MyBatis verwendet wird.

Es gibt vier Arten von Zuordnungsmethoden. Im Feld wählen Sie eine davon aus.

  1. Verwenden Sie die standardmäßige automatische Zuordnungsfunktion
  2. Entsprechen Sie jeder in der AS-Klausel
  3. Schalten Sie die automatische Zuordnungsfunktion des Kamelkastens ein
  4. Mit resultMap-Tag verwalten

1. Verwenden Sie die standardmäßige automatische Zuordnungsfunktion

Die Standardeinstellung von MyBatis lautet "Unterschied zwischen Klein- und Großbuchstaben und Assoziieren ignorieren".

Die folgenden Beispiele werden automatisch zugeordnet und funktionieren.

Beispiel: (Tabellenspaltenname) A_COLUMN → (Feldname) a_column oder a_Column

2. Entsprechen Sie nacheinander der as-Klausel

Beschreiben Sie beim Schreiben einer SQL-Anweisung die Entsprechung in der AS-Klausel.

SQL-Anweisung


SELECT
    A_COLUMN AS "aColumn",
    B_COLUMN AS "bColumn",
FROM
    MY_TABLE
WHERE
    A_COLUMN = "test"

Feldname


Public Class myTableDto {
    String aColumn;
    String bColumn;
}

3. Schalten Sie die automatische Zuordnungsfunktion des Kamelkastens ein

In der Konfigurationsdatei (zB mybatis-config.xml)

mybatis-config.xml


<settings>
    <setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>

Wenn Sie angeben, entspricht der Spaltenname mit Unterstrich automatisch dem Kamelfall (das erste des zweiten Wortes wird groß geschrieben).

Beispiel: (Tabellenspaltenname) ADD_COLUMN → (Feldname) @ Spalte

4. Mit resultMap-Tag verwalten

Verwenden Sie in der aus der Konfigurationsdatei aufgerufenen Mapper-Datei das resultMap-Tag, um die Korrespondenz zu beschreiben.

testMapper.xml


<mapper namespace="org.apache.ibatis.example.Mapper">
    <resultMap type="org.apache.ibatis.example.dto.myTableDto" id="testmap">
        <result column="A_COLUMN" property="aColumn"/>
        <result column="B_COLUMN" property="bColumn"/>
    </resultMap>
    
    <select id="getAll" resultMap="testmap">
        SELECT * FROM MY_TABLE
    </select>
</mapper>

Verschiedene Gefühle

Persönlich möchte ich vielleicht in eine AS-Klausel schreiben, die es leicht macht zu sehen, ob es beim Betrachten der SQL-Anweisung Auslassungen gibt.

Recommended Posts

Entsprechung zwischen dem Spaltennamen der mybatis-Tabelle und dem Feldnamen
Grundlegender CRUD-Vergleich zwischen Mybatis und Hibernate
Verschiedene Korrespondenztabellen zwischen Spring Framework und Spring Boot
[Rails] So ändern Sie den Spaltennamen der Tabelle
Wenn Activator EOL begrüßt, erstellen Sie eine Korrespondenztabelle zwischen Activator- und SBT-Befehlen.