See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 13726|Vastuse: 0

[Allikas] mybatise märkmed on annoteeritud Mapperi liidese kaudu

[Kopeeri link]
Postitatud 16.01.2019 13:00:53 | | | |
1. Mybatise toetatud kaardistamismeetodid

Mybatise toetatud kaardistamismeetodid hõlmavad mapper.xml xml-põhiseid faile ja java-põhiseid mapperi liidese klasse.
On neli peamist liidese meetodi annotatsiooni: @Insert, @Delete, @Update ja @Select

2. Kuidas kaardistada liidese annotatsioonide abil

Järgnevad katsed põhinevad kõik t_user tabelitel ja on üles ehitatud järgmiselt:

2.1 Suurenda @Insert

Selleks on põhimõtteliselt kolm skeemi: käsitsi määramine (rakenduskiht), iselisanduv primaarvõti (andmekiht üks tabel) ja esmase võtme valimine (andmekiht mitmetabel).

1. Määra käsitsi põhivõti rakenduse kihil

Käsitsi meetod ei käsitle esmavõtit erinevalt ning annab primaarvõtmele väärtuse, kui rakenduskiht genereerib objekti enne sisestamist, mis ei erine tavapärasest väljast sisestamisel.

Ülaltoodud näites ei tea mybatis, milline väli on primaarne võti ja id on primaarne võtmeväli, kuid seda ei käsitleta erinevalt.

Pane tähele, et #{kasutajanime} meetod on kasutada Kasutajat praeguse kontekstina, nii et kasutaja atribuutidele juurdepääsul saab otse kirjutada atribuudi nime.

2. Tabel lisab primaarvõtme

Isekasvav primaarvõti vastab XML-konfiguratsioonis põhivõtme tagasitäitmisele, lihtne näide:

Kasuta Optioni, et vastata XML-i select-sildi omadustele, userGeneratordKeys, et näidata, et soovid kasutada isekasvavat esmavõtit, ja keyProperty, et määrata primaarvõtme välja nimi.

Isekasvav primaarvõti kasutab aluseks oleva andmebaasi isekasvavaid omadusi.

3. Vali põhivõti

Vali primaarvõti, et genereerida väärtus andmekihilt, ja kasuta seda väärtust primaarvõtme väärtusena.


2.2 Kustuta @Delete

Kustutamisel kirjuta lihtsalt tingimus @Delete annotatsiooni väärtuses ja tagasta int tüüp kui edukalt kustutatud kirjete arv.


2.3 Muuda @Update

Muutmisel kirjuta lihtsalt SQL-lause @Update väärtuses ja tagasta int tüüp, mis näitab muudetud kirjeridade arvu.


2.4 Kontrolli @Select

Päringute tegemine on veidi keerulisem, sest päring hõlmab leitud väljade seadistamist objektile ning tavaliselt on kolm võimalust:

1. Määra käsitsi alias SQL-lauses, et see vastaks

SQL-lauseid kirjutades määra igale väljale käsitsi alias, et see sobiks objekti atribuutidega, mis sobib olukordadeks, kus tabeli välja ja objekti atribuudi nimi on väga erinevad ning tabelivälju on vähe.


2. Kasuta mybatise automaatset allajoonitud kühmu teisendust

mybatis-il on valik nimega mapUnderscoreToCamelCase, mis kehtib siis, kui tabeli välja nimi on sama mis objekti atribuudi nimi, kuid erinevus allkriipsu ja kühmu kirjutamises.

Pärast mapUnderscoreToCamelCase'i seadistamist püüab mybatis alakriipsu teisendada kühmuks, kui määrab ResultSetis leiduvad andmed objektile, ja seejärel ühendab komplekti ees, et määrata atribuudid.

Lülita konversioon sisse:




Seejärel küsi:

Vaadates trükitud tulemust, on birth_day atribuudi täidetud objektiga:



3. Kasuta ResultMapi

Kui tabeli välja nimi ja objekti atribuudi nimi ei ole palju samad ning tabelis on palju välju, tuleks kohandamiseks kasutada ResultMap'i.


@Results vastab ResultMapile XML-is ning selle jaoks saab määrata id, mida saab kasutada selle viitamiseks mujal, näiteks ülaltoodud tulemuste viitamiseks:

Kasuta @ResultMap, et viidata olemasolevale ResultMapile, mida saab defineerida Java-s @Results annotatsioonide abil või XML-is resultMap-siltide abil.

2.5 Näidiskood

User.java


UserMapper.java

3. Kokkuvõte

Liidese annotatsioonide kasutamise eelised:

1. Kaardistuslausete kirjutamine on mugavam ja kiirem

Liidese annotatsioonide kasutamise puudused:

1. See sobib suhteliselt lihtsateks konfiguratsioonideks ja liidest ei saa teha, kui see on liiga keeruline.

2. Dünaamilist SQL-i ei saa kasutada, natuke maitsetu.






Eelmine:Demon Spirit Summon V4.1.8 kasutatakse tagasihoidlikult
Järgmine:Kirin artikli originaalsuse tuvastamise tööriist v2.0 (eemalda autori kontaktandmed)
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com