推荐答案
// www.javascriptcn.com code example
import com.datastax.oss.driver.api.core.CqlSession;
import com.datastax.oss.driver.api.core.CqlSessionBuilder;
public class CassandraConnection {
public static void main(String[] args) {
// 创建CqlSessionBuilder实例
CqlSessionBuilder builder = CqlSession.builder();
// 设置Cassandra节点地址
builder.addContactPoint(new InetSocketAddress("127.0.0.1", 9042));
// 设置keyspace(可选)
builder.withKeyspace("my_keyspace");
// 创建CqlSession实例
try (CqlSession session = builder.build()) {
// 执行CQL查询
session.execute("SELECT * FROM my_table LIMIT 10").forEach(row -> {
System.out.println(row.getString("column_name"));
});
} catch (Exception e) {
e.printStackTrace();
}
}
}本题详细解读
1. 引入依赖
首先,确保在项目的pom.xml文件中添加了DataStax Java Driver的依赖:
<dependency>
<groupId>com.datastax.oss</groupId>
<artifactId>java-driver-core</artifactId>
<version>4.13.0</version>
</dependency>2. 创建CqlSessionBuilder
CqlSessionBuilder是用于配置和创建CqlSession实例的构建器。通过CqlSession.builder()方法可以获取一个CqlSessionBuilder实例。
3. 设置Cassandra节点地址
使用addContactPoint方法指定Cassandra集群中的一个或多个节点地址。通常,你需要提供节点的IP地址和端口号(默认是9042)。
4. 设置Keyspace(可选)
如果你希望在连接时自动切换到某个keyspace,可以使用withKeyspace方法指定keyspace名称。这一步是可选的,你也可以在CQL查询中显式指定keyspace。
5. 创建CqlSession实例
通过builder.build()方法创建CqlSession实例。CqlSession是与Cassandra集群进行交互的主要接口。建议使用try-with-resources语句来确保CqlSession在使用完毕后自动关闭。
6. 执行CQL查询
使用session.execute方法执行CQL查询。查询结果可以通过forEach方法遍历处理。
7. 异常处理
在连接或执行查询过程中可能会抛出异常,建议使用try-catch块捕获并处理这些异常。
通过以上步骤,你可以成功使用DataStax Java Driver连接Cassandra并执行CQL查询。