作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
org.springframework.r2dbc DatabaseClient 类已移至
import org.springframework.r2dbc.core.DatabaseClient;
从
import org.springframework.data.r2dbc.core.DatabaseClient;
Spring 数据文档
https://spring.io/projects/spring-data-r2dbc指转换为对象的简单“as”方法
databaseClient
.sql("select * from reading")
.as(CrepsReading::class.java)
.fetch()
.all()
.asFlow()
不行。 map (类)也没有。只有映射类似乎有效。
val all: Flux<CrepsReading> = databaseClient
.sql("SELECT id, name FROM person")
.map(CrepsReading::class)
.fetch().all()
如何简单地使用 spring-data-r2dbc (1.2.0) 映射对象?是否有文档描述了作为 spring-data-r2dbc 一部分的 DatabaseClient 的使用?
最佳答案
在 Spring 5.3/Spring Data R2dbc 中,DatabaseClient
被重构并移至 Spring 框架的核心。
查询 my example查看如何处理生成的 map 。
public static final BiFunction<Row, RowMetadata, Post> MAPPING_FUNCTION = (row, rowMetaData) -> Post.builder()
.id(row.get("id", UUID.class))
.title(row.get("title", String.class))
.content(row.get("content", String.class))
.status(row.get("status", Post.Status.class))
.metadata(row.get("metadata", Json.class))
.createdAt(row.get("created_at", LocalDateTime.class))
.build();
private final DatabaseClient databaseClient;
public Flux<Post> findByTitleContains(String name) {
return this.databaseClient
.sql("SELECT * FROM posts WHERE title LIKE :title")
.bind("title", "%" + name + "%")
.map(MAPPING_FUNCTION)
.all();
}
关于spring - 如何在 kotlin 中使用 spring 数据和 r2dbc 映射一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64765251/
我是一名优秀的程序员,十分优秀!