이 문서에서는 Spanner JDBC 드라이버를 사용하여 Java 애플리케이션을 Spanner Omni에 연결하고 SQL 문을 실행하는 방법을 보여줍니다.
Java Database Connectivity (JDBC)는 애플리케이션이 관계형 데이터베이스와 일관된 방식으로 상호작용할 수 있도록 지원하는 표준 Java API입니다. Spanner JDBC 드라이버는 Spanner에서와 동일한 방식으로 Spanner Omni와 함께 작동합니다.
JDBC 드라이버를 사용하면 Spanner Omni에서 표준 JDBC 호환 도구 및 라이브러리를 활용할 수 있습니다.
Spanner Omni JDBC 연결은 일반 텍스트, TLS, 사용자 인증 정보가 있는 TLS, mTLS를 지원합니다.
자세한 내용은 Spanner 문서의 JDBC에서 Spanner 시작하기 를 참고하세요.
시작하기 전에
JDBC 드라이버와 함께 Spanner Omni를 사용하려면 Spanner JDBC 드라이버 버전 2.41.0 이상을 사용하세요.
BOM (Bill of Materials) 없이 Maven을 사용하는 경우 pom.xml 파일 종속 항목에 다음을 추가합니다.
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-spanner-jdbc</artifactId>
<version>2.41.0</version>
</dependency>
연결 URL 고려사항
Spanner Omni는 프로젝트에 직접 연결되지 않으므로 JDBC 연결 URL에 projects/name
Google Cloud 구성요소가 필요하지 않습니다. 마찬가지로 각
Spanner Omni 배포에는 이미 생성된 단일 인스턴스
(instances/default)가 있으므로 instances/name 구성요소는
선택사항입니다.
Spanner 대신 Spanner Omni에 JDBC 드라이버를 연결하려면 연결 URL에 ;type=omni 속성을 추가합니다.
Spanner Omni 연결 설정
다음 예에서는 지원되는 각 보안 구성에 대해 Spanner JDBC 드라이버를 사용하여 Spanner Omni와의 연결을 설정하는 방법을 보여줍니다.
일반 텍스트
일반 텍스트 연결을 설정하려면 다음과 유사한 연결 URL을 사용합니다.
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
TLS 연결을 설정하려면 Java 트러스트 저장소에 CA 인증서를 추가하거나 애플리케이션을 실행할 때 맞춤 트러스트 저장소를 지정합니다(Java 트러스트 저장소 구성 참고). JDBC URL에는 추가 인증 매개변수가 필요하지 않습니다.
String url = "jdbc:spanner://HOST_ADDRESS:PORT/databases/DATABASE_ID;type=omni";
사용자 인증 정보가 있는 TLS
사용자 이름 및 비밀번호 인증으로 TLS 연결을 설정하려면
Java 신뢰 저장소 구성에 설명된 대로 Java 신뢰 저장소에 CA 인증서를 추가하고 JDBC URL에
username 및 password 속성을 지정합니다.
String url = "jdbc:spanner://HOST_ADDRESS:PORT/databases/DATABASE_ID;type=omni;username=USERNAME;password=PASSWORD";
mTLS
mTLS 연결을 설정하려면 Java 신뢰 저장소 구성에 설명된 대로 Java 신뢰 저장소에 CA 인증서를 추가하고 JDBC URL에 clientCertificate 및 clientKey 매개변수를 지정합니다.
클라이언트 비공개 키는
Java SDK mTLS 안내에 설명된 대로 Java 호환 PKCS#8 형식이어야 합니다.
String url = "jdbc:spanner://HOST_ADDRESS:PORT/databases/DATABASE_ID;type=omni;clientCertificate=PATH_TO_CLIENT_CERT;clientKey=PATH_TO_CLIENT_KEY";