Характеристики
Это внешние, альтернативные свойства, которые также могут быть настроены в типичном файле конфигурации свойств Java или переданы через детские элементы элементов свойств. Например:
<Properties resource = "org/mybatis/example/config.properties"> <name = "username" value = "dev_user"/> <name = "password" value = "f2fa3! 33tyyg"/> </properties>
Свойства в нем могут использоваться во всем файле конфигурации, а для реализации динамической конфигурации используются свойства. например:
<dataSource type = "poyted"> <name = "driver" value = "$ {driver}"/> <name = "url" value = "$ {url}"/> <name = "username" value = "$ {username}"/> <name = "password" value = "$ {пароль}"/> </dataSource>
В этом примере имя пользователя и пароль будут заменены значениями, установленными в элементе свойств. Свойства драйвера и URL будут заменены значениями, содержащимися в файле config.properties.
Настройки
1.cacheenabled
Эта конфигурация позволяет Global Mapper включать или отключить кэш.
Допустимые значения: true, false
Значение по умолчанию: true
2. LazyLoadingEnabled
Включить или отключить ленивую загрузку в мире. При отключении все связанные объекты загружаются мгновенно.
Допустимые значения: true, false
Значение по умолчанию: true
3.Aggressivelazyloading
При включении объект с свойством задержки загрузки полностью загружает любое свойство при вызове. в противном случае,
Каждый атрибут будет загружен по мере необходимости.
Допустимые значения: true, false
Значение по умолчанию: true
4. Mult IpleresultsetsEnabled
Разрешить или не разрешать возвращать несколько наборов результатов из отдельного оператора (требует подходящих драйверов)
Допустимые значения: true, false
Значение по умолчанию: true
5. Usecolumnlabel
Используйте метки столбцов вместо названий столбцов. Различные драйверы удобны для разных выступлений. Обратитесь к документации драйвера или проверьте полный метод для определения используемого драйвера.
Допустимые значения: true, false
Значение по умолчанию: true
6. ExegeneratedKeys
Позволяет JDBC поддерживать сгенерированные ключи. Нужен подходящий диск. Если установить на TRUE, этот параметр заставляет использовать сгенерированные клавиши, и хотя некоторые драйверы отказываются быть совместимыми, они все еще действительны (например, Дерби)
Допустимые значения: true, false
Значение по умолчанию: false
7. Аувтомаппиал
Указывает, как Mybatis автоматически отображает столбцы по полям/атрибутам. Частичный будет только автоматически отображать простое и не имеет вложенных результатов.
Полный будет автоматически отображать любые сложные результаты (шея или иначе)
Допустимые значения: нет, частичные, полные
Значение по умолчанию: частично
8. Defaultexecutortype
Настройте исполнителя по умолчанию. В простом приводе нет ничего особенного. Исполнитель повторного использования повторно использует заявления о предварительной обработке.
Праздные операторы повторного использования партии и обновление партии Допустимых значений: простое, повторное использование, партия
Значение по умолчанию: просто
9.defaultstatementtimeout
Установите время ожидания, которое определяет время, которое драйвер ждет ответа базы данных.
Допустимые значения: любое, положительное, целое число
Значение по умолчанию: не установлено (null)
Пример настройки информационных элементов, полная конфигурация заключается в следующем:
<settings> <setting name="cacheEnabled" value="true"/> <setting name="lazyLoadingEnabled" value="true"/> <setting name="multipleResultSetsEnabled" value="true"/> <setting name="useColumnLabel" value="true"/> <setting name="useGeneratedKeys" value="false"/> <setting name="enhancementEnabled" value="false"/> <Настройка name = "DefaultexeCutorType" value = "simple"/> <name = "defaultStatementTimeout" value = "25000"/> </settings>
Типейасы
Псевдоним типа - это назвать короткое название для типов Java. Он связан только с конфигурацией XML и используется только для уменьшения избыточных частей полностью квалифицированного имени класса. Например:
<typealias alias = "Автор" type = "domain.blog.author"/> <typealias alias = "blog" type = "domain.blog.blog"/> <typealias alias = "comment. type =" domain.blog.comment "/> <typealias alias =" post "type" domain.post.post. type = "domain.blog.section"/> <typealias alias = "Tag" type = "domain.blog.tag"/> </typealias>
С этой конфигурацией «блог» может использоваться как произвольно вместо того, где используется «domain.blog.blog». Для нормальных типов Java есть много встроенных псевдоним. Они оба нечувствительны к случаям, и из-за перегруженных имен вы должны обратить внимание на специальную обработку местных типов.
Типовые ручки
Независимо от того, устанавливает ли Mybatis параметр в операторе предварительной обработки или берет значение из набора результатов, тип процессор используется для преобразования полученного значения в тип Java соответствующим образом. В следующей таблице описывается процессор типа по умолчанию.
Вы можете переписать процессор типа или создать свой собственный процессор типа для обработки неподдерживаемых или нестандартных типов. Но эта ситуация довольно редко! !
объект
Mybatis выполняется с использованием экземпляра ObjectFactory каждый раз, когда создается новый экземпляр объекта результата. Если карта параметров существует, ObjectFactory по умолчанию не выполняет больше работы, чем создание целевого класса с использованием конструктора или конструктора по умолчанию с параметрами. Если вы хотите переписать объект по умолчанию, вы можете создать свой собственный. Пример опущен.
плагины
Mybatis позволяет вам перехватывать вызовы, выполняемые с помощью отображенных операторов в определенную точку. По умолчанию Mybatis позволяет плагинам перехватывать вызовы метода:
1. Экскутор
(Обновление, запрос, промывка, коммит, откат, getTransaction, Close, Isclose)
2. Parameterhandler
(GetParameterObject, SetParameters)
3. Resultsethandler
(Handleresultsets, HangeoutputParameters)
4. StatementHandler
(Подготовьте, параметризуйте, партии, обновление, запрос)
Среда
Mybatis можно настроить с несколькими средами. Это поможет вам применить сопоставления SQL к нескольким базам данных.
Очень важный вопрос, который следует помнить: вы можете настроить несколько сред, но вы можете выбрать только один для каждого экземпляра SQLSessionFactory. Таким образом, если вы хотите подключиться к двум базам данных, вам нужно создать два экземпляра SQLSessionFactory, по одному для каждой базы данных. И если это три базы данных, вам нужно три экземпляра и так далее.
Элементы среды определяют, как настроить среду, например:
<environments default="development"> <environment id="development"> <transactionManager type="JDBC"> <property name="..." value="..."/> </transactionManager> <dataSource type="POOLED"> <property name="driver" value="${driver}"/> <property name="url" value="${url}"/> <property name="username" value = "$ {username}"/> <name = "password" value = "$ {password}"/> </dataSource> </environment> </erviness> Примечание здесь:
1. Идентификатор среды по умолчанию (например: default = "Разработка").
2. Идентификатор среды, определяемый каждым элементом среды (например: ID = ”Development»).
3. Конфигурация менеджера транзакций (например: type = "jdbc").
4. Конфигурация источника данных (например: type = "Объединенное").
TransactionManager
В Mybatis есть два типа менеджеров по транзакциям (т.е. type = "[JDBC | Managed]".
1.JDBC --- Эта конфигурация напрямую и просто использует настройки Commit и Oflback JDBC. Он опирается на соединения, полученные из источников данных для управления объемом транзакций.
2. Управление --- Эта конфигурация почти ничего не делает. Он никогда не совершает или откатывается назад. И он позволяет контейнеру управлять всем жизненным циклом транзакции (например, контекст Spring или JEE Application Server). По умолчанию он закрывает соединение. Однако некоторые контейнеры не хотят этого, поэтому, если вам нужно остановить его от соединения, установите свойство CloseConnection на False. Например:
<transactionManager type = "Managed"> <name = "neckeConnection" value = "false"/> </transactionManager>
Ни один менеджер транзакций не требует каких -либо свойств. Тем не менее, все они являются псевдонимом типа, и для их замены вам необходимо разместить свое собственное полностью квалифицированное имя или псевдонимы типа вашего собственного класса, которые ссылаются на ваш класс реализации для интерфейса Transacfactory.