本文介绍通过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();