本文介紹通過Cassandra CQL Java Driver串連並使用Lindorm寬表引擎。
前提條件
已安裝Java環境,要求安裝JDK 1.8及以上版本。
已完成Cassandra CQL Java Driver的安裝,具體操作請參見安裝Cassandra CQL Driver。
已將用戶端的IP地址加入到Lindorm執行個體的白名單中,具體操作請參見設定白名單。
已擷取Lindorm寬表引擎的CQL串連地址,具體操作請參見查看串連地址。
操作步驟
配置串連參數。
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控制台擷取寬表引擎的CQL串連地址,例如:ld-bp17j28j2y7pm****-proxy-lindorm.lindorm.rds.aliyuncs.com
。username
:Lindorm執行個體的帳號名,預設為root。password
:Lindorm執行個體的帳號名對應的密碼,如果您忘記密碼可以通過寬表引擎的叢集管理系統修改密碼,具體操作請參見修改使用者密碼。
使用Cassandra CQL Java API訪問Lindorm寬表,以下提供訪問範例程式碼。
DDL操作
// 建立keyspace,指定對應strategy, replication factor。 session.execute( "CREATE KEYSPACE IF NOT EXISTS testKeyspace WITH replication " + "= {'class':'SimpleStrategy', 'replication_factor':1};"); // 建立table,給table指定對應的primary key 以及cluster key 和regular key 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操作
// 執行insert 操作 session.execute( "INSERT INTO testKeyspace.testTable (id, name, age, address) " + "VALUES (" + "1," + "'testname'," + "11," + "'hangzhou');"); // 執行select 操作,這裡select * 表示擷取所有列,也可以指定需要select 的列名擷取對應列資料 ResultSet res = session.execute( "SELECT * FROM testKeyspace.testTable ;"); // 如果想要擷取每一列對應的資料,可以如下操作 for (Row row : results) { int id = row.getInt("id"); String name = row.getString("name"); int age = row.getInt("age"); String address = row.getString("address"); } // 關閉Session session.close(); // 關閉Cluster cluster.close();