* Spring configuration support with Java-based `@Configuration` classes for an R2DBC driver instance.
* Spring configuration support with Java-based `@Configuration` classes for an R2DBC driver instance.
* `R2dbcEntityTemplate` as central class for entity-bound operations that increases productivity when performing common R2DBC operations with integrated object mapping between rows and POJOs.
* `R2dbcEntityTemplate` as central class for entity-bound operations that increases productivity when performing common R2DBC operations with integrated object mapping between rows and POJOs.
* Feature-rich object mapping integrated with Spring's Conversion Service.
* Feature-rich object mapping integrated with Spring's Conversion Service.
* Annotation-based mapping metadata that is extensible to support other metadata formats.
* Annotation-based mapping metadata that is extensible to support other metadata formats.
@ -79,12 +79,13 @@ To do so:
The repository is also https://repo.spring.io/milestone/org/springframework/data/[browseable here].
The repository is also https://repo.spring.io/milestone/org/springframework/data/[browseable here].
You may also want to set the logging level to `DEBUG` to see some additional information. To do so, edit the `application.properties` file to have the following content:
You may also want to set the logging level to `DEBUG` to see some additional information.
To do so, edit the `application.properties` file to have the following content:
@ -138,7 +139,7 @@ Even in this simple example, there are few things to notice:
* You can create an instance of the central helper class in Spring Data R2DBC (`R2dbcEntityTemplate`) by using a standard `io.r2dbc.spi.ConnectionFactory` object.
* You can create an instance of the central helper class in Spring Data R2DBC (`R2dbcEntityTemplate`) by using a standard `io.r2dbc.spi.ConnectionFactory` object.
* The mapper works against standard POJO objects without the need for any additional metadata (though you can, optionally, provide that information -- see <<mapping,here>>.).
* The mapper works against standard POJO objects without the need for any additional metadata (though you can, optionally, provide that information -- see <<mapping,here>>.).
* Mapping conventions can use field access.Notice that the `Person` class has only getters.
* Mapping conventions can use field access.Notice that the `Person` class has only getters.
* If the constructor argument names match the column names of the stored row, they are used to instantiate the object.
* If the constructor argument names match the column names of the stored row, they are used to instantiate the object.
@ -18,6 +18,8 @@ Spring R2DBC's `DatabaseClient` is a more lightweight implementation that encaps
You will notice that the method to run SQL statements changed from `DatabaseClient.execute(…)` to `DatabaseClient.sql(…)`.
You will notice that the method to run SQL statements changed from `DatabaseClient.execute(…)` to `DatabaseClient.sql(…)`.
The fluent API for CRUD operations has moved into `R2dbcEntityTemplate`.
The fluent API for CRUD operations has moved into `R2dbcEntityTemplate`.
If you use logging of SQL statements through the logger prefix `org.springframework.data.r2dbc`, make sure to update it to `org.springframework.r2dbc` (that is removing `.data`) to point to Spring R2DBC components.