Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 13726|Svar: 0

[Källa] mybatis-anteckningar annoteras med hjälp av Mapper-gränssnittet

[Kopiera länk]
Publicerad på 2019-01-16 13:00:53 | | | |
1. Kartläggningsmetoder som stöds av mybatis

De kartläggningsmetoder som stöds av mybatis inkluderar mapper.xml filer baserade på xml och mappergränssnittsklasser baserade på Java.
Det finns fyra huvudsakliga annotationer av gränssnittsmetoder: @Insert, @Delete, @Update och @Select

2. Hur man mappar med hjälp av gränssnittsannoteringar

Följande experiment baseras alla på t_user tabeller och är strukturerade enligt följande:

2.1 Öka @Insert

Det finns i princip tre metoder för detta, nämligen manuell beteckning (applikationslager), självtillagande primärnyckel (datalager enkel tabell) och val av primärnyckel (datalager flera tabeller).

1. Ange manuellt primärnyckeln på applikationslagret

Den manuella metoden behandlar inte primärnyckeln annorlunda och ger primärnyckeln ett värde när applikationslagret genererar objektet före insättning, vilket inte skiljer sig från det normala fältet när det sätts in.

I exemplet ovan vet inte mybatis vilket fält som är primärnyckeln, och id är primärnyckelfältet, men det behandlas inte annorlunda.

Observera att #{username}-metoden är att använda User som aktuell kontext, så att när du använder Användarens attribut kan du skriva attributnamnet direkt.

2. Tabellen lägger till primärnyckeln

Den självinkrementerande primärnyckeln motsvarar primärnyckelns backfill i XML-konfigurationen, ett enkelt exempel:

Använd Option för att motsvara egenskaperna för select-tagguppsättningen i XML, userGeneratordKeys för att indikera att du vill använda en självinkrementerande primärnyckel, och keyProperty för att ange fältnamnet på primärnyckelfältet.

Den självförhöjande primärnyckeln använder de självförökande funktionerna i den underliggande databasen.

3. Välj primärnyckeln

Välj primärnyckeln för att generera ett värde från datalagret och använd detta värde som primärnyckelns värde.


2.2 Radera @Delete

När du raderar, skriv bara villkoret i värdet på @Delete-annoteringen och returnera en int-typ som antalet poster som framgångsrikt har raderats.


2.3 Förändring @Update

När du ändrar skriver du bara SQL-satsen i värdet av @Update och returnerar en int-typ för att ange antalet modifierade postrader.


2.4 Kolla @Select

Att söka är lite mer komplicerat, eftersom frågan handlar om hur man sätter de funna fälten till objektet, och det finns vanligtvis tre sätt:

1. Ange manuellt ett alias i SQL-satsen för att matcha

När du skriver SQL-satser, tilldela manuellt ett alias till varje fält för att matcha objektets attribut, vilket är lämpligt i situationer där tabellfältets namn och objektattributets namn är mycket olika och det inte finns många tabellfält.


2. Använd mybatis automatiska understrykningspuckeltransformation

mybatis har ett alternativ som heter mapUnderscoreToCamelCase som gäller när fältnamnet i tabellen är detsamma som objektets attributnamn, men skillnaden i underscore och hump-skrivande.

Efter att ha konfigurerat mapUnderscoreToCamelCase försöker mybatis konvertera understrecket till en puckel när de sätter datan i ResultSet till objektet, och sedan sy ihop mängden framför för att sätta attributen.

Slå på konverteringen:




Sedan fråga:

När man tittar på det utskrivna resultatet fylls birth_day attribut i objektet:



3. Använd ResultMap

Om fältnamnet på tabellen och attributnamnet på objektet inte är mycket lika, och det finns många fält i tabellen, bör ResultMap användas för anpassning.


@Results motsvarar ResultMap i XML, och du kan ange ett id för den, som kan användas för att referera till den på andra ställen, till exempel för att referera till ovanstående Resultat:

Använd @ResultMap för att referera till en befintlig ResultMap, som kan definieras i Java med hjälp av @Results annotationer eller i XML med resultMap-taggar.

2.5 Exempelkod

User.java


UserMapper.java

3. Sammanfattning

Fördelar med att använda gränssnittsannoteringar:

1. Det är mer bekvämt och snabbt att skriva mappningssatser

Nackdelar med att använda gränssnittsannoteringar:

1. Det är lämpligt för relativt enkla konfigurationer, och gränssnittet kan inte göras när det är för komplicerat.

2. Oförmåga att använda dynamisk SQL, lite smaklöst.






Föregående:Demon Spirit Summon V4.1.8 används på ett lågmält sätt
Nästa:Kirin Article Originality Detection Tool v2.0 (ta bort författarens kontaktinformation)
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com