1. Metode preslikave, ki jih podpira mybatis
Metode preslikave, ki jih podpira mybatis, vključujejo mapper.xml datoteke na osnovi xml in mapper vmesniške razrede, ki temeljijo na javi. Obstajajo štiri glavne anotacije metod vmesnika: @Insert, @Delete, @Update in @Select
2. Kako preslikati z uporabo opomb na vmesniku
Naslednji eksperimenti temeljijo na t_user tabelah in so strukturirani takole:
2.1 Povečanje @Insert
Za to obstajajo v osnovi tri sheme: ročno označevanje (aplikacijska plast), samoseštevanje primarnega ključa (ena sama tabela podatkovnega sloja) in izbira primarnega ključa (več tabel podatkovnega sloja).
1. Ročno določite primarni ključ na aplikacijski plasti
Ročni način primarnega ključa ne obravnava drugače in primarnemu ključu dodeli vrednost, ko aplikacijska plast ustvari objekt pred vstavljanjem, kar ni nič drugače kot običajno polje ob vstavljanju.
V zgornjem primeru mybatis ne ve, katero polje je primarni ključ, id pa primarno ključno polje, vendar se ne obravnava drugače.
Upoštevajte, da je metoda #{username} uporaba uporabnika kot trenutnega konteksta, tako da lahko ob dostopu do atributov uporabnika neposredno zapišete ime atributa.
2. Tabela doda primarni ključ
Samopovečevalni primarni ključ ustreza primarnemu napolnjevanju ključa v XML konfiguraciji, preprost primer:
Uporabite Option, da ustreza lastnostim nabora oznak select v XML, userGeneratordKeys za označevanje, da želite uporabiti samopovečevanje primarnega ključa, in keyProperty za določitev imena polja primarnega ključa.
Samopovečevalni primarni ključ uporablja samopovečevajoče se značilnosti osnovne baze podatkov.
3. Izberite primarni ključ
Izberite primarni ključ za generiranje vrednosti iz podatkovne plasti in uporabite to vrednost kot vrednost primarnega ključa.
2.2 Izbriši @Delete
Pri brisanju preprosto zapišite pogoj v vrednost @Delete anotacije in vrnite tip int kot število uspešno izbrisanih zapisov.
2.3 Sprememba @Update
Pri spreminjanju preprosto zapišite SQL ukaz v vrednost @Update in vrnite tip int, ki označuje število spremenjenih vrstic zapisa.
2.4 Preveri @Select
Poizvedba je nekoliko bolj zapletena, saj poizvedba vključuje nastavitev najdenih polj na objekt, običajno pa obstajajo trije načini:
1. Ročno določite vzdevek v SQL stavku, da se ujema
Pri pisanju SQL stavkov ročno dodelite vsakemu polju vzdevek, da se ujema z atributi objekta, kar je primerno za situacije, kjer sta ime polja tabele in ime atributa objekta zelo različna in ni veliko polj tabele.
2. Uporaba samodejne transformacije podčrtanih grb Mybatis
mybatis ima možnost z imenom mapUnderscoreToCamelCase, ki velja, kadar je ime polja v tabeli enako imenu atributa objekta, vendar je razlika v pisanju podčrte in grba.
Po konfiguraciji mapUnderscoreToCamelCase bo mybatis poskušal pretvoriti podčrtavo v grbo, ko bo podatke iz ResultSet nastavljal na objekt, nato pa bo množico zašival spredaj, da nastavi atribute.
Vklopite pretvorbo:
Nato poizvedba:
Če pogledamo natisnjen rezultat, se v objekt vpiše birth_day atributov:
3. Uporaba ResultMap
Če ime polja tabele in ime atributa objekta nista povsem enaka in je v tabeli veliko polj, je treba za prilagoditev uporabiti ResultMap.
@Results ustreza ResultMap v XML in zanj lahko določite ID, ki ga lahko uporabite za referenco drugje, na primer za referenco na zgornje rezultate:
Uporabite @ResultMap za referenco na obstoječi ResultMap, ki ga je mogoče definirati v Javi z uporabo @Results oznak ali v XML z oznakami resultMap.
2.5 Vzorčna koda
User.java
UserMapper.java
3. Povzetek
Prednosti uporabe opomb na vmesniku:
1. Pisanje preslikavih stavkov je bolj priročno in hitrejše
Slabosti uporabe oznak vmesnikov:
1. Primeren je za razmeroma preproste konfiguracije, vmesnik pa ni mogoče, če je preveč zapleten.
2. Uporaba dinamičnega SQL je nekoliko neokusna.
|