如何使用r2dbc连接到postgres并执行查询

时间:2020-06-18 12:15:02

标签: java reactive-programming r2dbc r2dbc-postgresql

我正在尝试编写一个简单的函数,该函数将连接到postgres并执行select语句。

PostgresqlConnectionFactory connectionFactory = new PostgresqlConnectionFactory(
        PostgresqlConnectionConfiguration.builder()
            .host("localhost")
            .port(5432)
            .database("MyDB")
            .username("username")
            .password("password").build());



DatabaseClient client = DatabaseClient.create(connectionFactory);

Flux<Map<String, Object>> result = client.execute("select * from table").fetch().all();

result.map(s -> {
  System.out.println(s);
  return null;
});

上面的代码没有输出任何内容。也没有错误。我可以使用相同的凭据连接到数据库。从DB流数据的代码中缺少什么?

1 个答案:

答案 0 :(得分:0)

创建类似于以下代码的配置类以连接到PostgreSQL数据库

@Configuration
@EnableR2dbcRepositories
public class DatabaseConfig extends AbstractR2dbcConfiguration {

    @Override
    public ConnectionFactory connectionFactory() {
        return ConnectionFactories.get("r2dbc:postgresql://localhost:5432/DATABASE_NAME");
    }

}