1. Mapovací metody podporované mybatis
Mapovací metody podporované mybatis zahrnují mapper.xml soubory založené na xml a třídy rozhraní mapper založené na Javě. Existují čtyři hlavní anotace metod rozhraní: @Insert, @Delete, @Update a @Select
2. Jak mapovat pomocí anotací rozhraní
Následující experimenty jsou všechny založeny na t_user tabulkách a jsou strukturovány následovně:
2.1 Zvýšení @Insert
V podstatě existují tři způsoby, jak to uskutečnit: ruční označení (aplikační vrstva), samopřičítající primární klíč (datová vrstva jedna tabulka) a výběr primárního klíče (datová vrstva vícenásobných tabulek).
1. Ručně zadejte primární klíč na aplikační vrstvě
Manuální metoda primární klíč neřeší jinak a při generování objektu aplikační vrstvou před vložením přidělí hodnotu, která se neliší od běžného pole při vložení.
V uvedeném příkladu mybatis neví, které pole je primární klíč a id je pole primárního klíče, ale není s ním zacházeno jinak.
Všimněte si, že metoda #{username} používá uživatele jako aktuální kontext, takže při přístupu k atributům uživatele můžete přímo napsat název atributu.
2. Tabulka přidává primární klíč
Samo-inkrementující primární klíč odpovídá primárnímu klíčovému backfillu v XML konfiguraci, jednoduchý příklad:
Použijte Option, aby odpovídala vlastnostem sady tagů select v XML, userGeneratordKeys k označení, že chcete použít samo-inkrementující primární klíč, a keyProperty pro určení názvu pole primárního klíče.
Samo-inkrementující primární klíč využívá samoinkrementující vlastnosti základní databáze.
3. Vyberte primární klíč
Vyberte primární klíč pro generování hodnoty z datové vrstvy a použijte tuto hodnotu jako hodnotu primárního klíče.
2.2 Smazat @Delete
Při mazání stačí napsat podmínku do hodnoty @Delete anotace a vrátit typ int jako počet záznamů, které byly úspěšně smazány.
2.3 Změna @Update
Při úpravě stačí napsat SQL příkaz do hodnoty @Update a vrátit typ int, který označí počet upravených řádků záznamu.
2.4 Zkontrolujte @Select
Dotazování je trochu složitější, protože dotaz se týká, jak nastavit nalezená pole objektu, a obvykle existují tři způsoby:
1. Ručně zadat alias v SQL příkazu, aby odpovídal
Při psaní SQL příkazů ručně přiřaďte každému poli alias, aby odpovídal atributům objektu, což je vhodné pro situace, kdy se název pole tabulky a název atributu objektu velmi liší a pole v tabulce není mnoho.
2. Použijte automatickou transformaci podtržení hrbu od mybatis
mybatis má možnost nazvanou mapUnderscoreToCamelCase, která se uplatní, když je název pole v tabulce stejný jako název atributu objektu, ale rozdíl v podtržení a zápisu v hrbu.
Po konfiguraci mapUnderscoreToCamelCase se mybatis pokusí převést podtržení na hrb při nastavení dat nalezených ve ResultSet na objekt a poté sešívá množinu před objektem, aby nastavil atributy.
Zapněte konverzi:
Pak dotaz:
Při pohledu na vytištěný výsledek jsou do objektu vloženy birth_day atributy:
3. Použijte ResultMap
Pokud název pole tabulky a název atributu objektu nejsou příliš totožné a v tabulce je mnoho polí, měl by být ResultMap použit pro adaptaci.
@Results odpovídá ResultMapě v XML a můžete pro ni zadat ID, které lze použít k odkazu jinde, například k odkazu na výše uvedené výsledky:
Použijte @ResultMap k odkazování na existující ResultMap, kterou lze definovat v Javě pomocí @Results anotací nebo v XML pomocí tagů resultMap.
2.5 Ukázkový kód
User.java
UserMapper.java
3. Shrnutí
Výhody používání anotací rozhraní:
1. Je pohodlnější a rychlejší psát mapovací příkazy
Nevýhody používání anotací rozhraní:
1. Je vhodný pro relativně jednoduché konfigurace a rozhraní nelze provést, pokud je příliš složité.
2. Nemožnost používat dynamické SQL, trochu nevkusné.
|