欢迎投稿

今日深度:

Cassandra连接Java(一),cassandra连接java

Cassandra连接Java(一),cassandra连接java


一、小的案例

1、创建maven工程


pom.xml文件中

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
	<groupId>com.xxx.test</groupId>
	<artifactId>CassandraDemo</artifactId>
	<version>0.0.1-SNAPSHOT</version>

	<name>cassandra</name>
	<url>http://maven.apache.org</url>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
	</properties>

	<dependencies>
		<dependency>
			<groupId>junit</groupId>
			<artifactId>junit</artifactId>
			<version>3.8.1</version>
			<scope>test</scope>
		</dependency>
		<dependency>
			<groupId>com.datastax.cassandra</groupId>
			<artifactId>cassandra-driver-core</artifactId>
			<version>3.0.0</version>
		</dependency>
	</dependencies>
</project>

2、创建一个类


package com.xxx.test;


import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.Host;
import com.datastax.driver.core.KeyspaceMetadata;
import com.datastax.driver.core.Metadata;


public class FirstDemo {
	
	public static void main(String[] args) {
		
		Cluster cluster = 
				Cluster.builder().addContactPoint("127.0.0.1").withPort(9042).build();
		
		Metadata metadata = cluster.getMetadata();
		for (Host host : metadata.getAllHosts()) {
			System.out.println("------" + host.getAddress());
		}
		
		System.out.println("======================");
		
		for (KeyspaceMetadata keyspaceMetadata : metadata.getKeyspaces()) {
			System.out.println("--------" + keyspaceMetadata.getName());
		}
		
		cluster.close();
	}


}

运行


结果:


如果出现问题请参考:https://blog.csdn.net/qq_28289405/article/details/80419144

二、与Cassandra交互的常用的类

1、常用的类:


2、展开讨论

①、Cluster

这段代码添加了两个数据节点,同时设置了重连策略和重试策略,还有Cassandra数据库的Configuration属性。


当执行CQL查询的时候,如果查询失败或是没有查询到数据,这个重试策略就会告诉Java驱动怎么去做!


当数据节点突然连接不上,比如宕机了,那么重连策略将会定义如何重新连接这个宕机节点!


②、Session

主要在Cluster类连接成功之后会返回一个全局的session变量;session主要是执行CQL语句!

        同步执行就是会产生阻塞,假如执行多次CQL查询,那么后面的查询请求必须等待前面的语句执行完毕才会执行,这种查询方式返回的结果是ResultSet !

        异步执行就是多次请求之间自己执行自己的,互不影响,他的返回结果是ResultSetFueure !


③、ResultSet 和ResultSetFuture


④、Row

可以获取String、int类型的

⑤、PerparedStatement

       它可以预定CQL语句,它可以使用“?”这个符号,先占一个位,然后后面再设置对应的值;当一条CQL要被多次使用的时候,就可以使用PerparedStatement 。


⑥、Statement---它用来封装CQL语句

⑦、QueryBuilder

SELECT--all() 获取所有语句

distinct()提供了条件排除功能

where()提供了条件设置功能





参考其他资料!!

www.htsjk.Com true http://www.htsjk.com/cassandra/24713.html NewsArticle Cassandra连接Java(一),cassandra连接java 一、小的案例 1、创建maven工程 pom.xml文件中 project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://m...
相关文章
    暂无相关文章
评论暂时关闭