1. Mybatis atbalstītās kartēšanas metodes
Mybatis atbalstītās kartēšanas metodes ietver mapper.xml failus, kuru pamatā ir xml un mapper interfeisa klases, kuru pamatā ir java. Ir četras galvenās interfeisa metodes anotācijas: @Insert, @Delete, @Update un @Select
2. Kā kartēt, izmantojot saskarnes anotācijas
Visi tālāk minētie eksperimenti ir balstīti uz t_user tabulām, un tie ir strukturēti šādi:
2.1 Palieliniet @Insert
Tam būtībā ir trīs shēmas, proti, manuāla apzīmēšana (lietojumprogrammu slānis), pašpievienošana primārajai atslēgai (datu slāņa viena tabula) un primārās atslēgas izvēle (datu slāņa vairākas tabulas).
1. Manuāli norādiet primāro atslēgu lietojumprogrammas slānī
Manuālā metode neapstrādā primāro atslēgu atšķirīgi un piešķirs primārajai atslēgai vērtību, kad lietojumprogrammas slānis ģenerē objektu pirms ievietošanas, kas neatšķiras no parastā lauka, kad tas tiek ievietots.
Iepriekš minētajā piemērā mybatis nezina, kurš lauks ir primārā atslēga, un id ir primārās atslēgas lauks, taču tas netiek apstrādāts atšķirīgi.
Ņemiet vērā, ka #{lietotājvārds} metode ir izmantot lietotāju kā pašreizējo kontekstu, lai, piekļūstot lietotāja atribūtiem, jūs varētu tieši rakstīt atribūta nosaukumu.
2. Tabulā tiek pievienota primārā atslēga
Pašpieaugošā primārā atslēga atbilst primārās atslēgas aizpildījumam XML konfigurācijā, vienkāršs piemērs:
Izmantojiet opciju, lai atbilstu XML atlases tagu kopas rekvizītiem, userGeneratordKeys, lai norādītu, ka vēlaties izmantot pašpalielinošu primāro atslēgu, un keyProperty, lai norādītu primārās atslēgas lauka nosaukumu.
Pašpalielinošā primārā atslēga izmanto pamatā esošās datu bāzes pašpalielinošos līdzekļus.
3. Atlasiet primāro atslēgu
Atlasiet primāro atslēgu, lai ģenerētu vērtību no datu slāņa, un izmantojiet šo vērtību kā primārās atslēgas vērtību.
2.2 Svītrot @Delete
Dzēšot, vienkārši ierakstiet nosacījumu @Delete anotācijas vērtībā un atgrieziet int tipu kā veiksmīgi izdzēsto ierakstu skaitu.
2.3 Mainīt @Update
Modificējot, vienkārši ierakstiet SQL paziņojumu @Update vērtībā un atgrieziet int tipu, lai norādītu modificēto ierakstu rindu skaitu.
2.4 Pārbaudiet @Select
Vaicājums ir nedaudz sarežģītāks, jo vaicājums ietver to, kā iestatīt atrastos laukus objektam, un parasti ir trīs veidi:
1. Manuāli norādiet aizstājvārdu SQL priekšrakstā, lai tas atbilstu
Rakstot SQL paziņojumus, manuāli piešķiriet aizstājvārdu katram laukam, lai tas atbilstu objekta atribūtiem, kas ir piemērots situācijām, kad tabulas lauka nosaukums un objekta atribūta nosaukums ir ļoti atšķirīgi un nav daudz tabulas lauku.
2. Izmantojiet mybatis automātisko pasvītrojuma transformāciju
mybatis ir opcija ar nosaukumu mapUnderscoreToCamelCase, kas tiek piemērota, ja lauka nosaukums tabulā ir tāds pats kā objekta atribūta nosaukums, bet atšķirība pasvītrojumā un kupra rakstīšanā.
Pēc mapUnderscoreToCamelCase konfigurēšanas, mybatis mēģinās pārvērst pasvītrojumu par kupru, iestatot ResultSet atrastos datus objektam, un pēc tam sašūt komplektu priekšā, lai iestatītu atribūtus.
Ieslēdziet reklāmguvumu.
Pēc tam vaicājiet:
Aplūkojot izdrukāto rezultātu, objektā tiek aizpildīti birth_day atribūti:
3. Izmantojiet rezultātu karti
Ja tabulas lauka nosaukums un objekta atribūta nosaukums nav daudz vienādi un tabulā ir daudz lauku, pielāgošanai jāizmanto ResultMap.
@Results atbilst XML rezultātu kartei, un varat norādīt tās ID, ko var izmantot, lai uz to atsauktos citur, piemēram, lai atsauktos uz iepriekš minētajiem rezultātiem:
Izmantojiet @ResultMap, lai atsauktos uz esošu ResultMap, ko var definēt programmā Java, izmantojot @Results anotācijas, vai XML, izmantojot tagus resultMap.
2.5 Parauga kods
User.java
UserMapper.java
3. Kopsavilkums
Interfeisa anotāciju izmantošanas priekšrocības:
1. Ir ērtāk un ātrāk rakstīt kartēšanas paziņojumus
Saskarnes anotāciju izmantošanas trūkumi:
1. Tas ir piemērots salīdzinoši vienkāršām konfigurācijām, un saskarni nevar izdarīt, ja tas ir pārāk sarežģīts.
2. Nevar izmantot dinamisko SQL, mazliet garšīgs.
|