在本教程中,我想向您展示如何通过带有Spring WebFlux的Spring Data R2DBC 执行各种Postgres CRUD操作。
R2DBC代表反应式关系数据库连接。
像JPA(Java持久性API)一样,R2DBC是关系数据库的反应性驱动程序的规范。由于它是一个单独的规范,因此请勿与JPA / Hibernate功能(如@OneToMany,@ManyToMany 等)比较。
我们将开发一个名为product-service的Spring Boot应用程序,该应用程序负责创建新产品/检索所有产品/删除或更新现有产品以执行R2DBC的各种Postgres CRUD操作。
实体类
@Data |
我们不能在此处添加@Entity,因为这不是JPA。
Spring Data反应性存储库
Spring Data照常进行所有繁重的工作。我们需要通过扩展ReactiveCrudRepository为我们的实体类创建一个存储库。
import org.springframework.data.repository.reactive.ReactiveCrudRepository; |
CRUD操作
让我们创建一个服务类,以通过Spring Data Reactive Repository执行Postgres CRUD操作。
@Service |
REST API
现在是时候通过REST API公开服务了:
@RestController |
配置
Spring Data反应驱动程序需要这样的配置才能连接到Postgres DB。
- 方法1:使用application.properties
spring.r2dbc.url=r2dbc:postgresql://localhost:5432/productdb |
- 方法2:公开连接工厂bean
@Configuration |
完整的源代码在这里。