1. Mybatisin tukemat kartoitusmenetelmät
Mybatisin tukemat kartoitusmenetelmät sisältävät mapper.xml xml-pohjaisia tiedostoja ja java-pohjaisia mapper-rajapintaluokat. On neljä pääasiallista käyttöliittymämenetelmän annotaatiota: @Insert, @Delete, @Update ja @Select
2. Kuinka kartoittaa käyttöliittymän annotaatioiden avulla
Seuraavat kokeet perustuvat kaikki t_user taulukoihin ja on rakennettu seuraavasti:
2.1 Lisää @Insert
Tähän on käytännössä kolme menetelmää: manuaalinen määrittely (sovelluskerros), itseään lisäävä ensisijainen avain (datakerros yksitaulu) ja ensisijaisen avaimen valinta (datakerros monitaulu).
1. Määritä ensisijainen avain manuaalisesti sovelluskerroksessa
Manuaalinen menetelmä ei käsittele ensisijaista avainta eri tavalla, vaan antaa ensisijaiselle avaimelle arvon, kun sovelluskerros generoi objektin ennen lisäystä, mikä ei eroa normaalista kentästä lisätettäessä.
Yllä olevassa esimerkissä mybatis ei tiedä, mikä kenttä on ensisijainen avain, ja id on ensisijainen avainkenttä, mutta sitä ei käsitellä eri tavalla.
Huomaa, että #{käyttäjänimi}-menetelmä on käyttää Käyttäjää nykyisenä kontekstina, jotta käyttäjän attribuutteihin pääsyn yhteydessä voit kirjoittaa attribuutin nimen suoraan.
2. Taulukko lisää pääavaimen
Itsestään kasvava ensisijainen avain vastaa XML-konfiguraatiossa pääavaimen täyttöä, yksinkertainen esimerkki:
Käytä Option-näppäintä vastaamaan select-tunnistesarjan ominaisuuksia XML:ssä, userGeneratordKeys-näppäintä ilmaistaksesi, että haluat käyttää itseään kasvattavaa ensisijaista avainta, ja keyProperty-painiketta määrittääksesi ensisijaisen avainkentän kentän nimen.
Itsestään kasvava ensisijainen avain käyttää taustalla olevan tietokannan itsestään kasvavaa ominaisuutta.
3. Valitse pääavain
Valitse ensisijainen avain arvon tuottamiseen datakerroksesta ja käytä tätä arvoa ensisijaisen avaimen arvona.
2.2 Poista @Delete
Poistaessasi kirjoita ehto @Delete-merkinnän arvoon ja palauta int-tyyppi tietueiden lukumääränä, jotka on onnistuneesti poistettu.
2.3 Muutos @Update
Kun muokkaat, kirjoita vain SQL-lause @Update:n arvoon ja palauta int-tyyppi, joka ilmaisee muokattujen tietuerivien määrän.
2.4 Tarkista @Select
Kysely on hieman monimutkaisempaa, koska kysely käsittelee, miten löydetyt kentät asetetaan objektille, ja yleensä on kolme tapaa:
1. Määritä manuaalisesti alias SQL-lauseessa vastaavaksi
Kun kirjoitat SQL-lauseita, aseta manuaalisesti alias jokaiselle kentälle vastaamaan objektin attribuutteja, mikä sopii tilanteisiin, joissa taulukkokentän nimi ja objektin attribuutin nimi ovat hyvin erilaisia eikä taulukkokenttiä ole paljon.
2. Käytä mybatisin automaattista alleviivauksen kyhmymuunnosta
mybatisissa on vaihtoehto nimeltä mapUnderscoreToCamelCase, joka koskee silloin, kun taulukon kentän nimi on sama kuin objektin attribuutin nimi, mutta ero alleviivauksen ja kumpukirjoituksen välillä.
MapUnderscoreToCamelCase-konfiguroinnin jälkeen mybatis yrittää muuntaa alaviivan kyhmyksi asettaessaan ResultSetistä löytyvät tiedot objektiksi, ja sitten ompelee edessä olevan joukon määrittääkseen attribuutit.
Kytke muunnos päälle:
Sitten kysy:
Tulostettua tulosta tarkasteltaessa birth_day attribuuttia täytetään objektiin:
3. Käytä ResultMapia
Jos taulukon kentän nimi ja objektin attribuutin nimi eivät ole kovin samankaltaisia ja taulukossa on paljon kenttiä, ResultMapia tulisi käyttää mukautukseen.
@Results vastaa ResultMapia XML:ssä, ja voit määrittää sille id:n, jota voi käyttää viittaamaan siihen muualla, esimerkiksi yllä oleviin tuloksiin:
Käytä @ResultMap viittaamaan olemassa olevaan ResultMattiin, joka voidaan määritellä Javalla @Results annotaatioilla tai XML:ssä resultMap-tunnisteilla.
2.5 Esimerkkikoodi
User.java
UserMapper.java
3. Yhteenveto
Käyttöliittymämerkintöjen käytön edut:
1. On kätevämpää ja nopeampaa kirjoittaa kuvauslauseita
Käyttöliittymäannotaatioiden haitat:
1. Se sopii suhteellisen yksinkertaisiin konfiguraatioihin, eikä rajapintaa voi tehdä, kun se on liian monimutkainen.
2. Dynaamista SQL:ää ei voi käyttää, vähän mautonta.
|