快速入門

在這裡我們將簡要介紹 ADBC 的基本功能,並以 Java 的 PostgreSQL 驅動程式為例。

安裝

若要在您的 Maven 專案中包含 ADBC,請新增以下依賴項

<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<>();
parameters.put(AdbcDriver.PARAM_URL, "jdbc:postgresql://127.0.0.1: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”。

請注意,建立 statement 也包裝在 try-with-resources 區塊中。假設我們的資料庫中有名為 “foo” 的表,也提供了設定和執行查詢的範例。