Spring Boot: jOOQ, DSLContext, диалект jOOQ SQL
Использование DSLContext
Свободный API, предлагаемый jOOQ, запускается через интерфейс org.jooq.DSLContext. Spring Boot автоматически настраивает DSLContext как Spring Bean и подключает его к источнику данных вашего приложения. Чтобы использовать DSLContext, вы можете сделать его @Autowired, как показано в следующем примере:
@Component
public class JooqExample implements CommandLineRunner {
private final DSLContext create;
@Autowired
public JooqExample(DSLContext dslContext) {
this.create = dslContext;
}
}
Руководство jOOQ имеет тенденцию использовать переменную с именем create для хранения DSLContext.
Затем вы можете использовать DSLContext для построения ваших запросов, как показано в следующем примере:
public List<GregorianCalendar> authorsBornAfter1980() {
return this.create.selectFrom(AUTHOR)
.where(AUTHOR.DATE_OF_BIRTH.greaterThan(new GregorianCalendar(1980, 0, 1)))
.fetch(AUTHOR.DATE_OF_BIRTH);
}
Диалект jOOQ SQL
Если свойство spring.jooq.sql-dialect не было настроено, Spring Boot определяет диалект SQL, который будет использоваться для вашего источника данных. Если Spring Boot не может обнаружить диалект, он использует DEFAULT.
Spring Boot может автоматически настраивать диалекты, поддерживаемые версией jOOQ с открытым исходным кодом.
Настройка jOOQ
Более сложные настройки могут быть достигнуты путем определения ваших собственных определений @Bean, которые используются при создании конфигурации jOOQ. Вы можете определить bean-компоненты для следующих типов jOOQ:
- ConnectionProvider
- ExecutorProvider
- TransactionProvider
- RecordMapperProvider
- RecordUnmapperProvider
- Settings
- RecordListenerProvider
- ExecuteListenerProvider
- VisitListenerProvider
- TransactionListenerProvider
Вы также можете создать свой собственный org.jooq.Configuration @Bean, если хотите получить полный контроль над конфигурацией jOOQ.
Читайте также:
- Spring Boot: работа с SQL базами данных
- Spring Boot: JPA и Spring Data JPA
- Spring Boot: использование jOOQ
Комментарии
Отправить комментарий