このページでは、Spanner JDBC ドライバを使用して Spanner で基本オペレーションを実行する方法を説明します。
JDBC ドライバをインストールする
Spanner クライアント ライブラリの手順に従って認証を設定し、次のスニペットに示されているように、Spanner JDBC ドライバの依存関係を pom.xml
ファイルに追加します。
JDBC ドライバを読み込むために Java クラス名を必要とするフレームワークを使用している場合、クラス名は
com.google.cloud.spanner.jdbc.JdbcDriver
です。接続の設定方法については、JdbcDriver の API ドキュメントをご覧ください。
Spanner データベースに接続する
JdbcDriver クラスの説明には、接続文字列の構文と、接続を作成してクエリを実行するサンプルコードが記載されています。
ドライバは、指定されたデータベースの SQL 言語(GoogleSQL または PostgreSQL)を自動的に検出します。言語パラメータは必須ではないか、許可されません。
エミュレータに接続する
エミュレータに接続するには、たとえば次のように SPANNER_EMULATOR_HOST
環境変数を設定します。
Linux / macOS
export SPANNER_EMULATOR_HOST=localhost:9010
Windows
set SPANNER_EMULATOR_HOST=localhost:9010
これにより、Spanner JDBC ドライバのドライバは、デフォルトの本番環境サービスではなく、localhost
で実行されているエミュレータに接続します。
例
次のコード例は、一般的なユースケースをいくつか示しています。
スキーマ更新を行う
次のコード例では、最初に JDBC 接続を作成してからテーブルを作成し、Singers
テーブルをデータベースに追加します。
自動 commit モードでトランザクションを使用して行を追加する
複数のオペレーションをグループとして commit する必要がない場合は、トランザクションを autocommit モードで使用できます(デフォルトの動作)。次のコード例では、トランザクションを autocommit モードで使用して、Singers
テーブルに行を追加します。
複数のオペレーションをグループとして commit する方法を制御する
Spanner で複数のオペレーションをグループとしてまとめて commit するかどうかを制御する場合、自動 commit モードを無効にできます。次のコード例では、connection.setAutoCommit(false)
と connection.commit()
を使用して Singers
テーブルに行を追加します。
SQL クエリを実行する
次のコード例では、Singers
テーブルのすべての行を、歌手の姓で並べ替えて返します。
次のステップ
- Spanner JDBC ドライバに関するよくある質問への回答を得る。
- Spanner JDBC ドライバのセッション管理コマンドについて学習する。