无法解析“DatabaseClient”中的方法“execute”

时间:2021-01-08 13:47:37

标签: java spring spring-data spring-data-r2dbc r2dbc

我尝试重复 course 中的代码。 应该为初始化创建 SQL 查询并在 public void setup() 中运行,但我遇到了一些问题:

  1. 无法解析“DatabaseClient”中的方法“execute”
  2. 对“create”的引用不明确,“create(Publisher)”和“create(Publisher, long)”都匹配

代码

  @BeforeAll
    public void setup() {

        Hooks.onOperatorDebug();

        List<String> statements = Arrays.asList(//
                "DROP TABLE IF EXISTS player;",
                "CREATE table player (id INT AUTO_INCREMENT NOT NULL, name VARCHAR2, age INT NOT NULL);");

        statements.forEach(it -> client.execute(it) //
                .fetch() //
                .rowsUpdated() //
                .as(StepVerifier::create) //
                .expectNextCount(1) //
                .verifyComplete());

    }

1 个答案:

答案 0 :(得分:1)

我猜您正在使用最新的 Spring 版本,其中某些 R2DBC 类已被弃用。在这里查看https://docs.spring.io/spring-data/r2dbc/docs/current/reference/html/#upgrading.1.1-1.2.deprecation

所以要么你应该使用 .sql() 而不是 .execute() 或者只是降级 Spring/R2DBC 版本