1. Что такое Mybatis Dynamic SQL
Когда мы видим динамику, мы должны подумать, что это утверждение SQL, которое можно изменить.
Динамический SQL Mybatis основан на выражениях Ognl, что может помочь нам легко реализовать определенную логику в операторах SQL.
2. Подготовка перед использованием динамического SQL Mybatis
а Таблица базы данных
беременный Создать класс
3. Использование Mybatis Dynamic SQL, вы должны сначала знать некоторые значения атрибутов
1. Вставьте
SelectKey: оператор SQL, выполненная до или после оператора SQL
KeyColumn: соответствующее имя поля или псевдоним
KeyProperty: имя атрибута или значение ключа карты, соответствующее классу объектов
Заказ: выполнить до или после оператора выполнения
ResultType: тип результата возврата
Первый метод: самая простая динамическая вставка SQL
Вставьте в значения курса (seq_course.nextval,#{coursecode},#{coursename}) Выберите Max (id) Currid из курсатест
Результаты теста
Второй путь: если я не хочу вставлять так много полей, и я не хочу вставлять поле CourseName, то первый способ определенно невозможна.
Вставьте в курс (id, coursecode, coursename) Values (seq_course.nextval,#{coursecode},#{coursename})Тесты и результаты
Из этого мы видим, что этот метод может быть достигнут, когда я не хочу вставлять поле Coursecode.
Теперь название здесь снова. Что произойдет, если мы хотим превратить последнее поле в пустое или оба поля в пустые
Последнее поле становится пустым
Кажется, за запятой за первым вопросительным знаком на консоли
Попробуйте оба поля стать пустыми
Есть еще запятая
Причина вышеупомянутой ситуации заключается в том, что когда мы не хотим вставлять поле, мы не снимали запятую. Теперь мы представляем третий метод.
Третий способ - удалить лишние запятые
Этот метод должен ввести отделку
Trim также обладает несколькими свойствами
Префикс: добавьте префикс
Префиксоверриды: переопределить префикс
Суффикс: добавить суффикс
Суфксерриды: переопределить суффикс
id, coursecode, coursenameseq_course.nextval,#{coursecode},#{coursename}Смотри, проблема была решена
Работая над проектами, мы часто вставляем данные в базу данных. Иногда мы хотим вставить несколько частей одновременно. Итак, как мы должны вставить несколько фрагментов данных с помощью mybatis?
Здесь нам нужно решить несколько проблем
1. Как мы копируем структуру таблицы
Создать табличный курс 02 как выберите * из курса
Это утверждение очень знакомо? Да, таблица Course02 не только копирует структуру таблицы таблицы курса, но и копирует содержание таблицы курса.
2. Как мы копируем только структуру таблицы курсов вместо содержания таблицы курсов
Создать таблицу курса03 как выберите * из курса, где 1! = 1;
3. Итак, когда вставка, это то же самое, что и это?
Вставьте в курс 03 выберите * из курса;
Ответ такой же
4. Как вставить несколько заявлений
Вставьте в курс 03select '6', 'yc06', 'структура данных 06' из Dual Uniionselect '7', 'yc07', 'Структура данных 07' из Dual Uniionselect '8', 'yc08', структура данных 08 'из Dual Uniionselect' 8 ',' yc08 ', «Структура данных 08
Теперь, когда оператор SQL доступен, мы можем вставить его в файл конфигурации
Вставьте в Courseselect#{courses.id},#{courses.coursecode},#{courses.coursename} из Dual2. Изменить
1. Используйте отделку. Как упоминалось ранее, вы можете использовать TRIM для DEAFIX из -за атрибутов суфаксверридов
Обновление курса setCourSecode =#{coursecode}, coursename =#{coursename} где id =#{id}2. Используйте набор, который может заменить установку в операторе, а также удалить суффикс.
Обновление CourseCourSecode =#{coursecode}, coursename =#{coursename} где id =#{id}3. При изменении мы также сделаем выборочные изменения. Иногда мы не хотим изменять значение, чтобы оно соответствовало значению без модификации.
Выберите эквивалентен множеству, если
Первый эквивалентен IF, а второй эквивалентен другим, если
в противном случае равняется еще
Обновление CourseCourSecode =#{coursecode}, coursecode = coursecode, coursename =#{coursename}, coursename = coursename, где id =#{id}Выше приведено все содержание Mybatis Dynamic SQL, представленное вам. Я надеюсь, что это будет полезно для всех!