Skip to content

Commit

Permalink
Switch to pure R2DBC
Browse files Browse the repository at this point in the history
  • Loading branch information
alek-sys committed Nov 24, 2020
1 parent bad4bc3 commit cee253d
Show file tree
Hide file tree
Showing 5 changed files with 7 additions and 19 deletions.
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ dependencies {
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'

implementation 'org.springframework.boot:spring-boot-starter-data-r2dbc'
implementation 'org.springframework.data:spring-data-r2dbc'
implementation 'org.springframework.boot:spring-boot-starter-webflux'

developmentOnly 'org.springframework.boot:spring-boot-devtools'
Expand Down
4 changes: 1 addition & 3 deletions src/main/java/com/example/demo/Book.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
package com.example.demo;

import lombok.Data;
import org.springframework.data.annotation.Id;

@Data
public class Book {

@Id
private final Long id;
private final Integer id;
private final String title;

}
7 changes: 0 additions & 7 deletions src/main/java/com/example/demo/BookRepository.java

This file was deleted.

9 changes: 5 additions & 4 deletions src/main/java/com/example/demo/DemoApplication.java
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import org.springframework.boot.autoconfigure.web.reactive.error.ErrorWebFluxAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.context.support.GenericApplicationContext;
import org.springframework.data.r2dbc.repository.config.EnableR2dbcRepositories;
import org.springframework.r2dbc.core.DatabaseClient;
import org.springframework.web.reactive.function.server.RouterFunction;
import org.springframework.web.reactive.function.server.ServerResponse;

Expand All @@ -19,7 +19,6 @@
import org.springframework.r2dbc.connection.init.ConnectionFactoryInitializer;
import org.springframework.r2dbc.connection.init.ResourceDatabasePopulator;

@EnableR2dbcRepositories
public class DemoApplication {

private final static Class[] autoConfigurationClasses = {ReactiveWebServerFactoryAutoConfiguration.class,
Expand Down Expand Up @@ -49,12 +48,14 @@ public static SpringApplication buildApp() {
});

applicationContext.registerBean(RouterFunction.class, () -> {
var repo = applicationContext.getBean(BookRepository.class);
var repo = applicationContext.getBean(DatabaseClient.class);
return route()
.GET("/book", request -> {
var lang = request.queryParam("lang").orElse("");
var translatedBooks = repo
.findAll()
.sql("select * from book")
.map(row -> new Book(row.get("id", Integer.class), row.get("title", String.class)))
.all()
.map(book -> new Book(
book.getId(),
translationService.translateTitle(lang, book.getTitle())
Expand Down
4 changes: 0 additions & 4 deletions src/main/java/com/example/demo/TranslationService.java
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
package com.example.demo;

import org.springframework.stereotype.Component;
import reactor.core.publisher.Mono;

@Component
public class TranslationService {

String translateTitle(String lang, String title) {
Expand Down

0 comments on commit cee253d

Please sign in to comment.