Сообщения

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

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: Spring Data JDBC

Изображение
Spring Data включает поддержку репозитория для JDBC и автоматически генерирует SQL для методов в CrudRepository. Для более сложных запросов предоставляется аннотация @Query. Spring Boot автоматически конфигурирует репозитории JDBC Spring Data, когда необходимые пути находятся в пути к классам. Они могут быть добавлены в ваш проект с единственной зависимостью от spring-boot-starter-data-jdbc. При необходимости вы можете контролировать конфигурацию Spring Data JDBC, добавив аннотацию @EnableJdbcRepositories или подкласс JdbcConfiguration в свое приложение. Читайте также: Spring Boot: работа с SQL базами данных Spring Boot и базы данных: использование JdbcTemplate Spring Boot: JPA и Spring Data JPA

Spring Boot и базы данных: использование JdbcTemplate

Изображение
Классы Spring JdbcTemplate и NamedParameterJdbcTemplate настраиваются автоматически, и вы можете выполнить @Autowire их непосредственно в ваши bean-компоненты, как показано в следующем примере: import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.stereotype.Component; @Component public class MyBean { private final JdbcTemplate jdbcTemplate; @Autowired public MyBean(JdbcTemplate jdbcTemplate) { this.jdbcTemplate = jdbcTemplate; } // ... } Вы можете настроить некоторые свойства шаблона, используя свойства spring.jdbc.template.*, Как показано в следующем примере: spring.jdbc.template.max-rows=500 NamedParameterJdbcTemplate повторно использует тот же экземпляр JdbcTemplate за кулисами. Если определено более одного JdbcTemplate и первичного кандидата не существует, NamedParameterJdbcTemplate не настраивается автоматически. Читайте также: Spring Boot: раз...