Ця стаття є дзеркальною статтею машинного перекладу, будь ласка, натисніть тут, щоб перейти до оригінальної статті.

Вид: 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 як поточного контексту, щоб при доступі до атрибутів користувача можна було безпосередньо записати ім'я атрибута.

2. Таблиця додає первинний ключ

Самозростаючий первинний ключ відповідає заповненому первинному ключу в XML-конфігурації, простий приклад:

Використовуйте Option, щоб відповідати властивостям сету тегів select у 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, і ви можете вказати для неї ID, який можна використовувати для посилання в інших місцях, наприклад, для посилання на вищезазначені Результати:

Використовуйте @ResultMap для посилання на існуючу ResultMap, яку можна визначити на Java за допомогою @Results анотувань або в XML за допомогою тегів resultMap.

2.5 Приклад коду

User.java


UserMapper.java

3. Короткий зміст

Переваги використання анотації інтерфейсу:

1. Писати оператори відображення зручніше і швидше

Недоліки використання анотувань інтерфейсу:

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

2. Не можу використовувати динамічний SQL, трохи безсмаково.






Попередній:Demon Spirit Summon V4.1.8 використовується скромно
Наступний:Інструмент виявлення оригінальності статті Kirin v2.0 (видалити контактну інформацію автора)
Застереження:
Усе програмне забезпечення, програмні матеріали або статті, опубліковані Code Farmer Network, призначені лише для навчання та досліджень; Вищезазначений контент не повинен використовуватися в комерційних чи незаконних цілях, інакше користувачі несуть усі наслідки. Інформація на цьому сайті надходить з Інтернету, і спори щодо авторських прав не мають до цього сайту. Ви повинні повністю видалити вищезазначений контент зі свого комп'ютера протягом 24 годин після завантаження. Якщо вам подобається програма, будь ласка, підтримуйте справжнє програмне забезпечення, купуйте реєстрацію та отримайте кращі справжні послуги. Якщо є будь-яке порушення, будь ласка, зв'яжіться з нами електронною поштою.

Mail To:help@itsvse.com