ScalarDB SQL API ガイド
このページは英語版のページが機械翻訳されたものです。英語版との間に矛盾または不一致がある場合は、英語版を正としてください。
このガイドでは、ScalarDB SQL API の使用方法について説明します。
プロジェクトに ScalarDB SQL API を追加する
Gradle を使用して ScalarDB SQL API への依存関係を追加するには、次のコードを使用します。<VERSION> は、使用している ScalarDB SQL API と関連ライブラリのバージョンに置き換えてください。
dependencies {
implementation 'com.scalar-labs:scalardb-sql:<VERSION>'
implementation 'com.scalar-labs:scalardb-cluster-java-client-sdk:<VERSION>'
}
Maven を使用して依存関係を追加するには、以下を使用します (... を使用している ScalarDB SQL API のバージョンに置き換えます)。
<dependencies>
<dependency>
<groupId>com.scalar-labs</groupId>
<artifactId>scalardb-sql</artifactId>
<version>...</version>
</dependency>
<dependency>
<groupId>com.scalar-labs</groupId>
<artifactId>scalardb-cluster-java-client-sdk</artifactId>
<version>...</version>
</dependency>
</dependencies>
SqlSessionFactory
ScalarDB SQL API では、SqlSessionFactory でインスタンス化された SqlSession インスタンスを通じてすべての操作を実行します。このセクションでは、それらの使用方法を説明します。
SqlSessionFactory を説明する前に、接続モードとトランザクションモードについて説明します。
トランザクションモード
また、ScalarDB SQL には、トランザクション モードと2フェーズコミットトランザクションモードの2つのトランザクションモードがあります。
トランザクションモードでは、ユーザーには commit インターフェイスのみが公開され、バックグラウンドで2フェーズコミットが実行されます。一方、2フェーズコミットトランザクションモードでは、ユーザーに2フェーズコミットスタイルのインターフェイス (prepare と commit) が公開されます。
デフォルトのトランザクションモードは、設定ファイルで指定するか、SqlSessionFactory をビルドするときに指定できます。
また、SqlSession の setTransactionMode() メソッドを使用して変更することもできます。
SqlSessionFactory をビルドする
次のように、プロパティファイルを使用して SqlSessionFactory をビルドできます。
SqlSessionFactory sqlSessionFactory = SqlSessionFactory.builder()
.withPropertiesFile("<your configuration file>")
// If you need to set custom properties, you can specify them with withProperty() or withProperties()
.withProperty("<custom property name>", "<custom property value>")
.build();
設定の詳細については、ScalarDB Cluster SQL クライアント設定を参照してください。
SqlSession インスタンスを取得する
次のように、SqlSessionFactory を使用して SqlSession インスタンスを取得できます。
SqlSession sqlSession = sqlSessionFactory.createSqlSession();
SqlSession はスレッドセーフではないことに注意してください。
複数のスレッドから同時に使用しないでください。
SqlSession インスタンスを閉じる
SqlSession インスタンスですべての操作が完了したら、SqlSession インスタンスを閉じる必要があります。
sqlSession.close();
SqlSessionFactory インスタンスを閉じる
sqlSessionFactory も、不要になったら閉じる必要があります。
sqlSessionFactory.close();
SQL を実行する
次のように SqlSession を使用して SQL を実行できます。
ResultSet resultSet = sqlSession.execute("<SQL>");
次のように SqlSession を使用して Statement オブジェクトを実行することもできます。
// Build a statement
Statement statement = StatementBuilder.<factory method>...;
// Execute the statement
ResultSet resultSet = sqlSession.execute(statement);
Statement オブジェクトは、対応する SQL のファクトリメソッドを持つ StatementBuilder によって構築できます。詳細については、Javadoc の StatementBuilder ページおよび ScalarDB SQL 文法を参照してください。