Dokumen ini menunjukkan cara menggunakan driver JDBC Spanner untuk menghubungkan aplikasi Java ke Spanner Omni dan menjalankan pernyataan SQL.
Java Database Connectivity (JDBC) adalah Java API standar yang menyediakan cara yang konsisten bagi aplikasi untuk berinteraksi dengan database relasional. Driver JDBC Spanner berfungsi dengan Spanner Omni dengan cara yang sama seperti saat berfungsi dengan Spanner.
Dengan menggunakan driver JDBC, Anda dapat memanfaatkan alat dan library standar yang kompatibel dengan JDBC menggunakan Spanner Omni.
Koneksi JDBC Spanner Omni mendukung tiga mode keamanan: teks biasa, TLS, dan mTLS.
Untuk mengetahui informasi selengkapnya, lihat Memulai Spanner di JDBC dalam dokumentasi Spanner.
Pertimbangan URL koneksi
Karena Spanner Omni tidak terhubung langsung ke a
Google Cloud project, komponen projects/name
tidak diperlukan dalam URL koneksi JDBC. Demikian pula, karena setiap
deployment Spanner Omni memiliki satu instance yang sudah dibuat
(instances/default), komponen instances/name bersifat
opsional.
Membuat koneksi Spanner Omni
Contoh berikut menunjukkan cara membuat koneksi dengan Spanner Omni menggunakan driver JDBC Spanner untuk setiap mode keamanan yang didukung:
Komunikasi teks biasa
Untuk membuat komunikasi teks biasa, gunakan URL koneksi yang mirip dengan berikut ini:
String url = "jdbc:spanner://HOST_ADDRESS:PORT/databases/DATABASE_ID;usePlainText=true;isExperimentalHost=true";
try {
java.sql.Connection connection = DriverManager.getConnection(url);
try {
ResultSet rs = connection.createStatement().executeQuery("SELECT * FROM Singers");
while (rs.next()) {
System.out.print(rs.getLong(1) + "\t");
System.out.println(rs.getString(2));
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
} catch (Exception e) {
System.out.println(e.getMessage());
}
Saat menggunakan token autentikasi dengan TLS atau mTLS untuk endpoint Spanner Omni, tetapkan variabel lingkungan SPANNER_EXPERIMENTAL_HOST_AUTH_TOKEN ke jalur token autentikasi yang dibuat oleh Spanner Omni CLI. Untuk koneksi yang tidak memerlukan kredensial, biarkan variabel ini tidak ditetapkan.
Token autentikasi tidak direkomendasikan untuk penggunaan klien karena token yang dibuat oleh Spanner Omni akan habis masa berlakunya dan memerlukan perpanjangan manual dengan Spanner Omni CLI.
Koneksi TLS
Untuk membuat koneksi TLS, tambahkan sertifikat CA ke truststore Java atau teruskan langsung saat Anda menjalankan aplikasi seperti yang diinstruksikan dalam petunjuk TLS Java SDK. URL JDBC tidak memerlukan parameter tambahan apa pun saat membuat koneksi TLS:
String url = "jdbc:spanner://HOST_ADDRESS:PORT/databases/DATABASE_ID?isExperimentalHost=true";
Koneksi mTLS
Untuk membuat koneksi mTLS, URL JDBC memerlukan dua parameter tambahan: clientCertificate dan clientKey. Parameter ini harus menentukan jalur file ke sertifikat klien dan kunci pribadi klien. Kunci pribadi klien harus dalam format yang kompatibel dengan Java seperti yang disebutkan dalam petunjuk mTLS Java SDK:
String url = "jdbc:spanner://HOST_ADDRESS:PORT/databases/DATABASE_ID;clientCertificate=PATH_TO_CLIENT_CERT;clientKey=PATH_TO_CLIENT_KEY;isExperimentalHost=true";