1. Mapovacie metódy podporované mybatis
Mapovacie metódy podporované mybatis zahŕňajú mapper.xml súbory založené na XML a triedy rozhrania mapper založené na Jave. Existujú štyri hlavné anotácie metód rozhrania: @Insert, @Delete, @Update a @Select
2. Ako mapovať pomocou anotácií rozhrania
Nasledujúce experimenty sú všetky založené na t_user tabuľkách a sú štruktúrované nasledovne:
2.1 Zvýšenie @Insert
V podstate existujú tri spôsoby, a to manuálne označovanie (aplikačná vrstva), samo-pridávajúci primárny kľúč (data layer single table) a výber primárneho kľúča (data layer multiple table).
1. Manuálne špecifikovať primárny kľúč na aplikačnej vrstve
Manuálna metóda primárny kľúč nerieši inak a priradí mu hodnotu, keď aplikačná vrstva vygeneruje objekt pred vložením, čo sa nelíši od bežného poľa pri vložení.
V uvedenom príklade mybatis nevie, ktoré pole je primárny kľúč, a id je pole primárneho kľúča, ale nepristupuje sa k nemu inak.
Upozorňujeme, že metóda #{username} používa User ako aktuálny kontext, takže pri prístupe k atribútom User môžete priamo zapísať názov atribútu.
2. Tabuľka pridáva primárny kľúč
Samo-inkrementujúci primárny kľúč zodpovedá spätnému vyplneniu primárneho kľúča v XML konfigurácii, jednoduchý príklad:
Použite Option, aby zodpovedal vlastnostiam sady tagov select v XML, userGeneratordKeys na označenie, že chcete použiť samo-inkrementujúci primárny kľúč, a keyProperty na určenie názvu poľa primárneho kľúča.
Samoinkrementujúci primárny kľúč využíva samoinkrementačné vlastnosti základnej databázy.
3. Vyberte primárny kľúč
Vyberte primárny kľúč na vygenerovanie hodnoty z dátovej vrstvy a použite túto hodnotu ako hodnotu primárneho kľúča.
2.2 Vymazať @Delete
Pri mazaní jednoducho napíšte podmienku do hodnoty @Delete anotácie a vráťte typ int ako počet úspešne vymazaných záznamov.
2.3 Zmena @Update
Pri úprave stačí napísať SQL príkaz do hodnoty @Update a vráť typ int na označenie počtu upravených riadkov záznamu.
2.4 Skontrolujte @Select
Dotazovanie je trochu zložitejšie, pretože dotaz zahŕňa, ako nastaviť nájdené polia k objektu, a zvyčajne existujú tri spôsoby:
1. Manuálne zadajte alias v SQL príkaze, aby zodpovedal
Pri písaní SQL príkazov manuálne priraďte každému poliu alias, aby zodpovedal atribútom objektu, čo je vhodné v situáciách, keď sa názov poľa tabuľky a názov atribútu objektu veľmi líšia a nie je veľa polí v tabuľke.
2. Použite automatickú transformáciu podčiarknutého hrbu mybatis
mybatis má možnosť nazvanú mapUnderscoreToCamelCase, ktorá sa uplatňuje, keď je názov poľa v tabuľke rovnaký ako názov atribútu objektu, ale rozdiel v zápise podčiarknutia a hrbu.
Po konfigurácii mapUnderscoreToCamelCase sa mybatis pokúsi previesť podčiarknutie na hrb pri nastavovaní dát nájdených vo ResultSet na objekt a potom zošíva množinu pred objektom, aby nastavil atribúty.
Zapnite konverziu:
Potom dotaz:
Pri pohľade na vytlačený výsledok sa do objektu naplnia birth_day atribútov:
3. Použite ResultMap
Ak názov poľa tabuľky a atribút objektu nie sú veľmi totožné a v tabuľke je veľa polí, na adaptáciu by sa mal použiť ResultMap.
@Results zodpovedá ResultMap v XML a môžete pre ňu určiť ID, ktoré môžete použiť na odkaz inde, napríklad na odkazovanie na vyššie uvedené výsledky:
Použite @ResultMap na odkazovanie na existujúci ResultMap, ktorý je možné definovať v Jave pomocou @Results anotácií alebo v XML pomocou tagov resultMap.
2.5 Vzorový kód
User.java
UserMapper.java
3. Zhrnutie
Výhody používania anotácií rozhrania:
1. Je pohodlnejšie a rýchlejšie písať mapovacie výroky
Nevýhody používania anotácií rozhrania:
1. Je vhodný pre relatívne jednoduché konfigurácie a rozhranie nie je možné, ak je príliš zložité.
2. Nemôžem používať dynamické SQL, trochu nevkusné.
|