java简单的直连cassandra,引入jar包
<dependency>
<!--<groupId>com.datastax.cassandra</groupId>-->
<!--<artifactId>cassandra-driver-core</artifactId>-->
<!--<version>3.5.0</version>-->
</dependency>
package com.zhou.demo.utils;
import com.datastax.driver.core.*;
import com.datastax.driver.core.querybuilder.QueryBuilder;
/**
* @auther:
* @description:
* @date: 17:46 2019/1/8
*/
public class CassandraSimpleDemo {
public void simpleQuery(Session session) {
// 执行CQL语句
ResultSet rs = session.execute("select * from system_schema.tables");
// 从返回结果中取出第一条结果
Row row = rs.one();
System.out.println("结果----:" + row.getString("keyspace_name"));
}
public void agileQuery(Session session) {
ResultSet rs = session.execute(QueryBuilder.select().from("system_schema", "tables").where(QueryBuilder.eq("keyspace_name", "system_auth")));
Row row = rs.one();
System.out.println("结果----:" + row.getString("table_name"));
}
public static void main(String[] args) {
Cluster cluster = null;
try {
// 创建连接到Cassandra的客户端
cluster = Cluster.builder().addContactPoint("10.201.82.63").build();
Metadata metadata = cluster.getMetadata();
for (Host host : metadata.getAllHosts()) {
System.out.println("host------" + host.getAddress());
}
// 创建用户会话
Session session = cluster.connect();
new CassandraSimpleDemo().agileQuery(session);
} finally {
// 调用cluster变量的close()函数并关闭所有与之关联的链接
if (cluster != null) {
cluster.close();
}
}
}
}
cassandra和spring/springBoot结合
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-cassandra</artifactId>
</dependency>
配置项(简单配置一个就可以运行,还有一些其他的通过提示自行研究)
spring.data.cassandra.contact-points: ip
通过cassandraTemplate来操作,和entity进行关联,方便操作,其他增删改查按照api来;
类似mongodbTemplate;
String cql = String.format("select * from system_schema.tables");
List<Table> select = cassandraTemplate.select(cql, Table.class);