Тази статия е огледална статия за машинен превод, моля, кликнете тук, за да преминете към оригиналната статия.

Изглед: 13726|Отговор: 0

[Източник] бележките на mybatis се анотират чрез интерфейса на Mapper

[Копирай линк]
Публикувано в 16.01.2019 г. 13:00:53 ч. | | | |
1. Методи за картографиране, поддържани от mybatis

Методите за картографиране, поддържани от mybatis, включват mapper.xml файлове, базирани на xml, и класове интерфейс на mapper, базирани на java.
Има четири основни анотации на методите на интерфейса: @Insert, @Delete, @Update и @Select

2. Как да се картографират чрез анотации на интерфейса

Следните експерименти са базирани на t_user таблици и са структурирани по следния начин:

2.1 Увеличаване на @Insert

Съществуват основно три схеми за това, а именно ръчно обозначение (приложен слой), самодобавящ се първичен ключ (единична таблица на слоя данни) и избор на първичен ключ (множество таблици на слой данни).

1. Ръчно задайте първичния ключ на приложния слой

Ръчният метод не третира първичния ключ по различен начин и дава стойност на първичния ключ, когато приложният слой генерира обекта преди вмъкване, което не се различава от нормалното поле при вмъкване.

В горния пример mybatis не знае кое поле е първичният ключ, а id е първичното ключово, но не се третира по различен начин.

Обърнете внимание, че методът #{username} е да използвате User като текущ контекст, така че при достъп до атрибутите на User, да можете директно да напишете името на атрибута.

2. Таблицата добавя първичния ключ

Самоувеличаващият се първичен ключ съответства на запълването на първичния ключ в XML конфигурацията, прост пример:

Използвайте Option, за да съответствате на свойствата на селективния набор от тагове в XML, userGeneratordKeys, за да посочите, че искате да използвате самоувеличаващ се първичен ключ, и keyProperty, за да посочите името на полето на първичния ключ.

Самоувеличаващият се първичен ключ използва функциите за самоувеличаване на базата данни.

3. Изберете първичния ключ

Изберете първичния ключ, за да генерирате стойност от слоя данни и използвайте тази стойност като стойност на първичния ключ.


2.2 Изтрий @Delete

При изтриване, просто запишете условието в стойността на @Delete анотацията и върнете int тип като броя на успешно изтритите записи.


2.3 Промяна @Update

При модификация просто запишете SQL оператора в стойността на @Update и върнете int тип, който да посочи броя на модифицираните редове на записите.


2.4 Провери @Select

Заявките са малко по-сложни, защото включват как да се зададат намерените полета на обекта, и обикновено има три начина:

1. Ръчно задайте псевдоним в SQL оператора, за да съвпадне

При писане на SQL оператори ръчно се задава псевдоним на всяко поле, за да съответства на атрибутите на обекта, което е подходящо за ситуации, когато името на полето в таблицата и името на атрибута на обекта са много различни и няма много полета в таблицата.


2. Използвайте автоматичната трансформация на подкрояване на гърба на mybatis

mybatis има опция, наречена mapUnderscoreToCamelCase, която се прилага, когато името на полето в таблицата съвпада с името на атрибута на обекта, но разликата в подчертаването и изписването на хълм.

След конфигуриране на mapUnderscoreToCamelCase, mybatis ще се опита да превърне подчертаването в хълбов при задаване на данните, намерени в ResultSet, към обекта, и след това ще зашие набора отпред, за да зададе атрибутите.

Включи конверсията:




След това направи запитване:

Гледайки отпечатания резултат, birth_day атрибути са попълнени в обекта:



3. Използвайте ResultMap

Ако името на полето на таблицата и името на атрибута на обекта не са много еднакви и в таблицата има много полета, ResultMap трябва да се използва за адаптация.


@Results съответства на ResultMap в XML и можете да зададете идентификатор за него, който да се използва за референциране на други места, например за препратка към горните резултати:

Използвайте @ResultMap, за да се позовавате на съществуваща ResultMap, която може да бъде дефинирана в Java чрез @Results анотации или в XML чрез resultMap тагове.

2.5 Примерен код

User.java


UserMapper.java

3. Резюме

Предимства на използването на анотации на интерфейса:

1. По-удобно и бързо е да се пишат съответствия

Недостатъци на използването на анотации на интерфейса:

1. Подходящ е за сравнително прости конфигурации и интерфейсът не може да се използва, когато е твърде сложен.

2. Не мога да използвам динамичен SQL, малко безвкусно.






Предишен:Demon Spirit Summon V4.1.8 се използва по-спокойно
Следващ:Kirin Article Detection Tool v2.0 (премахване на контактна информация за автора)
Отричане:
Целият софтуер, програмни материали или статии, публикувани от Code Farmer Network, са само за учебни и изследователски цели; Горното съдържание не трябва да се използва за търговски или незаконни цели, в противен случай потребителите ще понесат всички последствия. Информацията на този сайт идва от интернет, а споровете за авторски права нямат нищо общо с този сайт. Трябва напълно да изтриете горното съдържание от компютъра си в рамките на 24 часа след изтеглянето. Ако ви харесва програмата, моля, подкрепете оригинален софтуер, купете регистрация и получете по-добри услуги. Ако има нарушение, моля, свържете се с нас по имейл.

Mail To:help@itsvse.com