gpt4 book ai didi

java - 如何在r2dbc中建立数据库连接?

转载 作者:行者123 更新时间:2023-12-02 02:44:31 24 4
gpt4 key购买 nike

如何在 r2dbc Spring boot 项目中设置 PostgreSQL 数据库连接?

我尝试了以下配置,它连接到数据库但没有返回任何值

@Configuration
@EnableR2dbcRepositories
public class DatabaseConfig extends AbstractR2dbcConfiguration {

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

/*@Override
public ConnectionFactory connectionFactory() {
return ConnectionFactories.get(new PostgresqlConnectionFactory(
PostgresqlConnectionConfiguration.builder()
.host("localhost")
.port(5432)
.username("postgres")
.password("thirumal")
.database("sample")
.build()););
}*/

}

应用程序属性

spring.r2dbc.url=r2dbc:postgresql://localhost:5432/sample
spring.r2dbc.username=postgres
spring.r2dbc.password=thirumal
spring.r2dbc.pool.enabled=true

型号

@Data@NoArgsConstructor@AllArgsConstructor@Getter@Setter
@ToString
@Table("public.test")
public class Test implements Serializable{

/**
*
*/
private static final long serialVersionUID = 4205798689305488147L;

@Id//@Column("id")
private Long id;

private String name;

}

存储库

public interface TestRepository extends ReactiveCrudRepository<Test, Long> {

}

休息 Controller :

@GetMapping("/test")
public Mono<Test> test() {
testRepository.findById(3L).subscribe(v->System.out.println("Value: " + v.toString()));
return testRepository.findById(3L);
}

它在控制台中打印输出,但在 JSON 中,我只得到空大括号 {}

正确的配置方法是什么?还需要其他配置吗?

最佳答案

我发现了问题。这是Lombok库,我没有在eclipse中安装它。

当我手动创建 gettersetter 方法时,它起作用了。

public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}

然后,我设置了 lombok 并使用了 @getter@setter 并且它成功了。

关于java - 如何在r2dbc中建立数据库连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63021258/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com