Сообщения

Показаны сообщения с ярлыком "jOOQ"

Spring Boot: автоматически настроенные JDBC, Data JDBC, jOOQ тесты

Изображение
Автоматически настроенные JDBC тесты @JdbcTest похож на @DataJpaTest, но предназначен для тестов, которые требуют только DataSource и не используют Spring Data JDBC. По умолчанию он настраивает встроенную базу данных в памяти и JdbcTemplate. Обычные компоненты @Component не загружаются в ApplicationContext. По умолчанию тесты JDBC являются транзакционными и откатываются в конце каждого теста. Если это не то, что вам нужно, вы можете отключить управление транзакциями для теста или для всего класса следующим образом: import org.junit.jupiter.api.Test; import org.springframework.boot.test.autoconfigure.jdbc.JdbcTest; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; @JdbcTest @Transactional(propagation = Propagation.NOT_SUPPORTED) class ExampleNonTransactionalTests { } Если вы предпочитаете, чтобы ваш тест выполнялся на реальной базе данных, вы можете использовать аннотацию @AutoConfigureTestDatabase ...

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 S...

Spring Boot: использование jOOQ

Изображение
jOOQ Object Oriented Querying (jOOQ) - это популярный продукт от Data Geekery, который генерирует Java-код из вашей базы данных и позволяет создавать безопасные для типов SQL-запросы через его свободно распространяемый API. Как коммерческие, так и открытые версии могут быть использованы с Spring Boot. Генерация кода Чтобы использовать типобезопасные запросы jOOQ, вам нужно сгенерировать классы Java из схемы базы данных. Вы можете следовать инструкциям в руководстве пользователя jOOQ. Если вы используете плагин jooq-codegen-maven и также используете “parent POM” spring-boot-starter-parent, вы можете спокойно пропустить тег <version> плагина. Вы также можете использовать переменные версии, определенные Spring Boot (например, h2.version), чтобы объявить зависимость базы данных плагина. Следующий листинг показывает пример: <plugin> <groupId>org.jooq</groupId> <artifactId>jooq-codegen-maven</artifactId> <executions> ... ...