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, трохи безсмаково.
|