SpringWebFlux ile klasik JDBC sürücüsü kullanan veri tabanlarını kullanabilmeyi sağlar
Örnek - mysql
Normalde mysql-connector-java gerekir ancak R2DBC için dev.miku:r2dbc-mysql kullanmak gerekir.
Örnek - postgre
Şu satırı dahil ederiz
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-r2dbc</artifactId></dependency><dependency><dependency><groupId>io.r2dbc</groupId><artifactId>r2dbc-postgresql</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.postgresql</groupId><artifactId>postgresql</artifactId><scope>runtime</scope></dependency>
Örnek - h2
Şu satırı dahil ederiz
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-r2dbc</artifactId></dependency><dependency><groupId>io.r2dbc</groupId><artifactId>r2dbc-h2</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-jpa</artifactId></dependency><dependency><groupId>com.h2database</groupId><artifactId>h2</artifactId><scope>runtime</scope></dependency>
ConnectionFactoryInitializer Sınıfı
Örnek
Uygulama açılırken schema.sql içindeki CREATE TABLE cümlelerini çalıştırmak için şöyle yaparız
DatabaseClient Sınıfıimport org.springframework.data.r2dbc.connectionfactory.init.ConnectionFactoryInitializer;import org.springframework.data.r2dbc.connectionfactory.init.ResourceDatabasePopulator;@Beanpublic ConnectionFactoryInitializer connectionFactoryInitializer(
ConnectionFactory connectionFactory){ConnectionFactoryInitializer initializer = new ConnectionFactoryInitializer();initializer.setConnectionFactory(connectionFactory);ResourceDatabasePopulator populator = new ResourceDatabasePopulator(
new ClassPathResource("schema.sql"),new ClassPathResource("data.sql"));initializer.setDatabasePopulator(populator);return initializer;}
DatabaseClient Sınıfı yazısına taşıdım
Hiç yorum yok:
Yorum Gönder