Dokumen ini menunjukkan cara menggunakan driver JDBC Spanner untuk menghubungkan aplikasi Java Anda 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 fungsinya dengan Spanner.
Dengan menggunakan driver JDBC, Anda dapat memanfaatkan alat dan library standar yang kompatibel dengan JDBC dengan Spanner Omni.
Koneksi Spanner Omni JDBC mendukung teks biasa, TLS, TLS dengan kredensial, dan mTLS.
Untuk mengetahui informasi selengkapnya, lihat Mulai menggunakan Spanner di JDBC dalam dokumentasi Spanner.
Sebelum memulai
Untuk menggunakan Spanner Omni dengan driver JDBC, gunakan driver JDBC Spanner versi 2.41.0 atau yang lebih baru.
Jika Anda menggunakan Maven tanpa Bill of Materials (BOM), tambahkan kode berikut ke dependensi file pom.xml:
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-spanner-jdbc</artifactId>
<version>2.41.0</version>
</dependency>
Pertimbangan URL koneksi
Karena Spanner Omni tidak terhubung langsung ke projectGoogle Cloud , komponen projects/name tidak diperlukan di URL koneksi JDBC. Demikian pula, karena setiap deployment
Spanner Omni memiliki satu instance yang sudah dibuat
(instances/default), komponen instances/name bersifat
opsional.
Untuk menghubungkan driver JDBC ke Spanner Omni, bukan Spanner, tambahkan properti ;type=omni ke URL koneksi.
Membuat koneksi Spanner Omni
Contoh berikut menunjukkan cara membuat koneksi dengan Spanner Omni menggunakan driver JDBC Spanner untuk setiap konfigurasi keamanan yang didukung:
Teks biasa
Untuk membuat koneksi teks biasa, gunakan URL koneksi yang mirip dengan berikut ini:
String url = "jdbc:spanner://HOST_ADDRESS:PORT/databases/DATABASE_ID;usePlainText=true;type=omni";
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());
}
TLS
Untuk membuat koneksi TLS, tambahkan sertifikat CA ke truststore Java atau tentukan truststore kustom saat Anda menjalankan aplikasi, seperti yang dijelaskan dalam Mengonfigurasi truststore Java. URL JDBC tidak memerlukan parameter autentikasi tambahan:
String url = "jdbc:spanner://HOST_ADDRESS:PORT/databases/DATABASE_ID;type=omni";
TLS dengan kredensial
Untuk membuat koneksi TLS dengan autentikasi nama pengguna dan sandi, tambahkan
sertifikat CA ke truststore Java seperti yang dijelaskan dalam
Mengonfigurasi truststore Java, dan tentukan properti
username dan password di URL JDBC:
String url = "jdbc:spanner://HOST_ADDRESS:PORT/databases/DATABASE_ID;type=omni;username=USERNAME;password=PASSWORD";
mTLS
Untuk membuat koneksi mTLS, tambahkan sertifikat CA ke truststore Java seperti yang dijelaskan dalam Mengonfigurasi truststore Java, dan tentukan parameter clientCertificate dan clientKey di URL JDBC.
Kunci pribadi klien harus dalam format PKCS#8 yang kompatibel dengan Java, seperti yang dijelaskan dalam
petunjuk mTLS Java SDK:
String url = "jdbc:spanner://HOST_ADDRESS:PORT/databases/DATABASE_ID;type=omni;clientCertificate=PATH_TO_CLIENT_CERT;clientKey=PATH_TO_CLIENT_KEY";