spring - 相对于 r2bc 中的 where 子句,我们是否有一个简写来计算 db 中存在的行数

标签 spring spring-boot spring-webflux spring-data-r2dbc

“对于根据where 条件数据库中没有.of 行,有什么简写吗?” 如果我们有一个标准定义,它需要数据库中存在的行数。 是 r2dbc 中的任何函数吗?

最佳答案

你可以有这样的东西:

@Repository
public class MyCustomRepositoryImpl {

  private final R2dbcEntityTemplate r2dbcEntityTemplate;

  @Autowired
  public MyCustomRepositoryImpl(DatabaseClient databaseClient) {
    this.r2dbcEntityTemplate = new R2dbcEntityTemplate(databaseClient);
  }

  public Mono<Long> getCountOfAllRows() {
    return r2dbcEntityTemplate.count(query(Criteria.empty()),MyEntity.class);
  }

  public Mono<Long> getCountOfRowsForACondition(String myVal) {
    return r2dbcEntityTemplate.select(query(Criteria.where("mycolumn").is(myVal)),MyEntity.class);
  }
}

这里注意queryorg.springframework.data.relational.core.query.Query的静态方法

关于spring - 相对于 r2bc 中的 where 子句,我们是否有一个简写来计算 db 中存在的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62775211/

相关文章:

java - 如何从 Spring 5 WebClient ClientResponse 中提取响应 header 和状态代码

java - 如何在 Spring WebFlux @ExceptionHandler 中访问 RequestBody?

Spring 数据: relationships between 2 different data sources

java - JpaRepository - 删除方法 - 通知实体不存在

java - spring Kafka集成测试监听器不工作

Spring-Boot - 激活休眠二级缓存

java - URL中的Webflux Webclient转义斜杠

java - 如何将大输入流发送到 Spring REST 服务?

java - Hazelcast Spring 集成问题

java - Spring-@Repository 和 @RepositoryRestResource 的区别和用例?