このトピックでは、Cassandra Query Language (CQL) を使用して Cassandra CQL Java ドライバーで LindormTable に接続および利用する方法について説明します。
前提条件
-
JDK 1.8 以降の Java 環境がインストールされていること。
-
Cassandra CQL Java ドライバーがインストールされていること。詳細な手順については、「Cassandra CQL ドライバーのインストール」をご参照ください。
-
Lindorm インスタンスのホワイトリストにクライアントの IP アドレスが追加されていること。詳細な手順については、「ホワイトリストの設定」をご参照ください。
-
Lindorm のワイドテーブルエンジンの CQL Connection 情報を取得していること。詳細については、「接続アドレスの確認」をご参照ください。

操作手順
-
接続パラメーターを設定します。
String[] contactPoints = new String[]{ "<host>" }; Cluster cluster = Cluster.builder() .addContactPoints(contactPoints) .withAuthProvider(new PlainTextAuthProvider(username, password)) .build(); cluster.init(); Session session = cluster.connect();説明-
host:Lindorm コンソールから LindormTable の CQL Connection アドレスを取得します。例:
ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com。 -
username:Lindorm インスタンスのユーザー名。デフォルトのユーザー名は root です。
-
password:Lindorm インスタンスのユーザー名に対応するパスワード。パスワードを忘れた場合は、LindormTable の Cluster Management System で変更できます。詳細については、「ユーザーのパスワード変更」をご参照ください。
-
-
Cassandra CQL Java API を使用して LindormTable にアクセスします。以下の例では、一般的な操作方法を示します。
-
DDL 操作
// キースペースを作成します。レプリケーション戦略とレプリケーション係数を指定します。 session.execute( "CREATE KEYSPACE IF NOT EXISTS testKeyspace WITH replication " + "= {'class':'SimpleStrategy', 'replication_factor':1};"); // テーブルを作成します。プライマリキー、クラスターキー、通常のカラムを指定します。 session.execute( "CREATE TABLE IF NOT EXISTS testKeyspace.testTable (" + "id int PRIMARY KEY," + "name text," + "age int," + "address text" + ");"); // テーブルをクリアします。 session.execute("TRUNCATE TABLE testKeyspace.testTable;"); // テーブルを削除します。 session.execute("DROP TABLE testKeyspace.testTable "); -
DML 操作
// データを挿入します。 session.execute( "INSERT INTO testKeyspace.testTable (id, name, age, address) " + "VALUES (" + "1," + "'testname'," + "11," + "'hangzhou');"); // すべてのカラムをクエリします。特定のカラムのみをクエリすることも可能です。 ResultSet res = session.execute( "SELECT * FROM testKeyspace.testTable ;"); // 各カラムからデータを取得します。 for (Row row : res) { int id = row.getInt("id"); String name = row.getString("name"); int age = row.getInt("age"); String address = row.getString("address"); } // セッションを閉じます。 session.close(); // クラスターをシャットダウンします。 cluster.close();
-