快速入门¶
在这里,我们将简要介绍 ADBC 的基本功能,使用 Java 的 PostgreSQL 驱动程序。
安装¶
要将 ADBC 包含在您的 Maven 项目中,请添加以下依赖项
<dependency>
<groupId>org.apache.arrow.adbc</groupId>
<artifactId>adbc-driver-jdbc</artifactId>
<version>${adbc.version}</version>
</dependency>
对于本节中的示例,需要以下导入
import org.apache.arrow.adbc.core.AdbcConnection;
import org.apache.arrow.adbc.core.AdbcDatabase;
import org.apache.arrow.adbc.core.AdbcDriver;
import org.apache.arrow.adbc.core.AdbcException;
import org.apache.arrow.adbc.core.AdbcStatement;
JDBC 风格 API¶
ADBC 提供了 JDBC 标准风格的高级 API。
用法¶
final Map<String, Object> parameters = new HashMap<>();
AdbcDriver.PARAM_URI.set(parameters, "jdbc:postgresql://localhost:5432/postgres");
try (
BufferAllocator allocator = new RootAllocator();
AdbcDatabase db = new JdbcDriver(allocator).open(parameters);
AdbcConnection adbcConnection = db.connect();
AdbcStatement stmt = adbcConnection.createStatement()
) {
stmt.setSqlQuery("select * from foo");
AdbcStatement.QueryResult queryResult = stmt.executeQuery();
while (queryResult.getReader().loadNextBatch()) {
// process batch
}
} catch (AdbcException e) {
// throw
}
在应用程序代码中,连接必须在使用后关闭,否则可能会发生内存泄漏。 建议将连接包装在 try-with-resources 块中,以实现自动资源管理。 在此示例中,我们正在连接到 PostgreSQL 数据库,特别是默认数据库 “postgres”。
请注意,创建语句也包装在 try-with-resources 块中。 假设我们在数据库中有一个表 “foo”,还提供了用于设置和执行查询的示例。