响应式编程中的数据库访问与 CompletableFuture 应用
1. 响应式编程挑战与数据库访问
编写完全响应式的应用程序充满挑战,其中一个明显的阻塞源就是数据库访问代码。在大多数系统中,服务器最终都会成为其他服务的客户端,而且几乎所有计算机系统都是分布式的。
在 Java 里,访问关系型数据库的长期标准是 Java Database Connectivity(JDBC)。从使用者角度看,JDBC 提供了一组 API,可与如 PostgreSQL、Oracle Database 等各种关系型数据库通信。其核心抽象包括 Connection(TCP/IP 连接)、Statement(数据库查询)和 ResultSet(数据库结果视图)。不过如今开发者很少直接使用该 API,因为有更友好的抽象,像 Spring 框架里的轻量级 JdbcTemplate、代码生成库 jOOQ 以及对象关系映射解决方案 JPA 等。
以下是一个使用 JDBC 的示例:
import java.sql.*;
try (
Connection conn = DriverManager.getConnection("jdbc:h2:mem:");
Statement stat = conn.createStatement();
ResultSet rs = stat.executeQuery("SELECT 2 + 2 AS total")
) {
if (rs.next()) {
System.out.println(rs.getInt("total")
超级会员免费看
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



