scylladb:利用java api操作scylladb数据库

2023-05-16

博客上全是关于scylladb的介绍和性能对比,很少有scylladb方面的干货,这里从scylladb官网各种文档里面整合出一个java版的例子,例子中展示如何连接scylladb,如何加载数据,如何查询数据,和jdbc类似,只不过这里是使用会话session而不是连接connection来操作。

首先是创建一个maven工程,引入相关依赖。

<dependency>
	<groupId>com.datastax.cassandra</groupId>
	<artifactId>cassandra-driver-core</artifactId>
	<version>3.6.0</version>
</dependency>
<dependency>
	<groupId>com.datastax.cassandra</groupId>
	<artifactId>cassandra-driver-mapping</artifactId>
	<version>3.6.0</version>
</dependency>
<dependency>
	<groupId>com.datastax.cassandra</groupId>
	<artifactId>cassandra-driver-extras</artifactId>
	<version>3.6.0</version>
</dependency>

java代码:

package com.xxx.scylladbdemo;
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Row;
import com.datastax.driver.core.Session;
public class App {
	public static String[] contact_points = {"127.0.0.1"};
	public static int port = 9042;
	
	private static Cluster cluster;
	private static Session session;
	
	public static void connect(){
		cluster = Cluster.builder().addContactPoints(contact_points).withPort(port).build();
		System.out.printf("connected to cluster : %s%n", cluster.getMetadata().getClusterName());
		session = cluster.connect();
	}
	
	public static void query(){
		ResultSet rs = session.execute("select * from domestic.student");
		System.out.printf("%-30s\t%-20s\t%-20s%n", "ID","Name","Age");
		for(Row row:rs){
			System.out.printf("%-30d\t%-20s\t%-20d%n", row.getInt("id"),row.getString("name"),row.getInt("age"));
		}
	}
	
	public static void loadData(){
		session.execute("insert into domestic.student(id,name,age) values (3,'jack',20)");
	}
	
	public static void close(){
		session.close();
		cluster.close();
		System.out.println("close.");
	}
	
    public static void main( String[] args ){
    	connect();
    	loadData();
    	query();
    	close();
    }
}

 因为我这里scylladb数据库安装在linux上,而且开启的主机访问只支持127.0.0.1,所以,无法通过ip来直接访问scylladb,需要将程序打包,然后放到scylladb服务器上运行。运行之前数据表结构以及数据是这样的。

实例中会插入一条记录,然后查询所有记录,会查询出来三条记录,运行结果截图:

 

 在本例中,我们使用的jar包是cassandra-driver-core、cassandra-driver-mapping、cassandra-driver-extras,是因为scylladb是cassandra发展而来的,只不过是用c++实现的,因此无论是语法还是java driver都是极度类似的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

scylladb:利用java api操作scylladb数据库 的相关文章

  • 菜单未显示在应用程序中

    由于某种原因 我的操作菜单在我的 Android Studio 应用程序中消失了 我正在按照教程学习如何创建 Android 应用程序 但最终遇到了这个问题 我正在使用 atm 的教程 http www raywenderlich com
  • 如何将 Java 赋值表达式转换为 Kotlin

    java中的一些东西就像 int a 1 b 2 c 1 if a b c System out print true 现在它应该转换为 kotlin 就像 var a Int 1 var b Int 2 var c Int 1 if a
  • 我需要在 Spring 中检查每个控制器中的有效会话吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 假设在 Spring Mvc 的 Web 应用程序中 我们是否需要检查每个控制器或 jsps 中的有效会话 我该如何解决 MVC 中的
  • 解决错误:日志已在具有多个实例的atomikos中使用

    我仅在使用atomikos的实时服务器上遇到问题 在我的本地服务器上它工作得很好 我在服务器上面临的问题是 init 中出错 日志已在使用中 完整的异常堆栈跟踪 java lang RuntimeException Log already
  • 如何查找 Android 设备中的所有文件并将它们放入列表中?

    我正在寻求帮助来列出 Android 外部存储设备中的所有文件 我想查找所有文件夹 包括主文件夹的子文件夹 有办法吗 我已经做了一个基本的工作 但我仍然没有得到想要的结果 这不起作用 这是我的代码 File files array file
  • 当分配给变量时,我可以以某种方式重用 Gremlin GraphTraversals 代码吗?

    我有看起来像这样的 GraphTraversals attrGroup GraphTraversal
  • 一种使用 Java Robot API 和 Selenium WebDriver by Java 进行文件上传的解决方案

    我看到很多人在使用 Selenium WebDriver 的测试环境中上传文件时遇到问题 我使用 selenium WebDriver 和 java 也遇到了同样的问题 我终于找到了解决方案 所以我将其发布在这里希望对其他人有所帮助 当我需
  • 序列化对象以进行单元测试

    假设在单元测试中我需要一个对象 其中所有 50 个字段都设置了一些值 我不想手动设置所有这些字段 因为这需要时间而且很烦人 不知何故 我需要获得一个实例 其中所有字段都由一些非空值初始化 我有一个想法 如果我要调试一些代码 在某个时候我会得
  • Spring Data 与 Spring Data JPA 与 JdbcTemplate

    我有信心Spring Data and Spring Data JPA指的是相同的 但后来我在 youtube 上观看了一个关于他正在使用JdbcTemplate在那篇教程中 所以我在那里感到困惑 我想澄清一下两者之间有什么区别Spring
  • 归并排序中的递归:两次递归调用

    private void mergesort int low int high line 1 if low lt high line 2 int middle low high 2 line 3 mergesort low middle l
  • 制作java包

    我的 Java 类组织变得有点混乱 所以我要回顾一下我在 Java 学习中跳过的东西 类路径 我无法安静地将心爱的类编译到我为它们创建的包中 这是我的文件夹层次结构 com david Greet java greeter SayHello
  • Java直接内存:在自定义类中使用sun.misc.Cleaner

    在 Java 中 NIO 直接缓冲区分配的内存通过以下方式释放 sun misc Cleaner实例 一些比对象终结更有效的特殊幻像引用 这种清洁器机制是否仅针对直接缓冲区子类硬编码在 JVM 中 或者是否也可以在自定义组件中使用清洁器 例
  • 将多模块 Maven 项目导入 Eclipse 时出现问题 (STS 2.5.2)

    我刚刚花了最后一个小时查看 Stackoverflow com 上的线程 尝试将 Maven 项目导入到 Spring ToolSuite 2 5 2 中 Maven 项目有多个模块 当我使用 STS 中的 Import 向导导入项目时 所
  • 应用程序关闭时的倒计时问题

    我制作了一个 CountDownTimer 代码 我希望 CountDownTimer 在完成时重新启动 即使应用程序已关闭 但它仅在应用程序正在运行或重新启动应用程序时重新启动 因此 如果我在倒计时为 00 10 分钟 秒 时关闭应用程序
  • Tomcat 6找不到mysql驱动

    这里有一个类似的问题 但关于类路径 ClassNotFoundException com mysql jdbc Driver https stackoverflow com questions 1585811 classnotfoundex
  • 使用 SAX 进行 XML 解析 |如何处理特殊字符?

    我们有一个 JAVA 应用程序 可以从 SAP 系统中提取数据 解析数据并呈现给用户 使用 SAP JCo 连接器提取数据 最近我们抛出了一个异常 org xml sax SAXParseException 字符引用 是无效的 XML 字符
  • Windows 上的 Nifi 命令

    在我当前的项目中 我一直在Windows操作系统上使用apache nifi 我已经提取了nifi 0 7 0 bin zip文件输入C 现在 当我跑步时 bin run nifi bat as 管理员我在命令行上看到以下消息 但无法运行
  • java迭代器内部是如何工作的? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有一个员工列表 List
  • 中断连接套接字

    我有一个 GUI 其中包含要连接的服务器列表 如果用户单击服务器 则会连接到该服务器 如果用户单击第二个服务器 它将断开第一个服务器的连接并连接到第二个服务器 每个新连接都在一个新线程中运行 以便程序可以执行其他任务 但是 如果用户在第一个
  • java8 Collectors.toMap() 限制?

    我正在尝试使用java8Collectors toMap on a Stream of ZipEntry 这可能不是最好的想法 因为在处理过程中可能会发生异常 但我想这应该是可能的 我现在收到一个我不明白的编译错误 我猜是类型推理引擎 这是

随机推荐

  • 构建http服务的几种方式

    做前端开发 xff0c 页面可以通过浏览器打开访问 xff0c 但是异步请求这里 xff0c 直接通过浏览器就不行了 xff0c 即便是访问的本地json资源 xff0c ajax也无能为力 另外 xff0c 如angularjs vue涉
  • nodejs+Express开发第一个web应用

    express是nodejs开发中最常用的一个http服务框架 xff0c 通过他可以很方便的构建http服务 另外他本身还提供了路由功能 xff0c 就是对请求的路径做区分 xff0c 分别对应后台不同的请求 这里介绍如何通过expres
  • angularjs路由ui-router示例

    angularjs默认提供的路由是angular route min js提供的 xff0c 这里介绍一个开源的 xff0c 基于angularjs实现的ui router路由 思路是类似的 页面不再使用ng view来指定一个模板子页面
  • DZNEmptyDataSet框架简介

    给大家推荐一个设置页面加载失败时显示加载失败等的框架 下载地址 DZNEmptyDataSet https github com dzenbot DZNEmptyDataSet 上效果 首先在你的ViewController里面导入 imp
  • 使用jQuery中Deferred异步对象构建顺序执行队列

    在前面 xff0c 有一篇文章介绍了jQuery的异步对象Deferred xff0c 通过他 xff0c 我们可以实现一些操作比如回调函数在异步操作 xff08 耗时 xff09 完成之后再执行 比如这样的场景 xff0c 我们在编辑页面
  • nodejs路由之代码分离

    nodejs提供了路由功能 xff0c 解决客户端各类请求对应的处理问题 xff0c 相当于springboot开发各个controller对应的方法 xff0c nodejs提供的路由 xff0c 也支持各种方法 xff1a get po
  • gcc编译c++文件

    gcc是编译c语言的 xff0c 默认情况下 xff0c 如果直接编译c 43 43 程序 xff0c 会报错 xff1a root 64 server demo2 ls hello cpp root 64 server demo2 cat
  • linux下C++连接mysql查询数据

    windows下使用C 43 43 连接mysql相对繁琐 xff0c 这里直接在linux下通过C 43 43 连接mysql xff0c 执行查询操作 linux下连接mysql xff0c 需要本机有libmysqlclient库文件
  • linux下C++连接redis

    linux下c 43 43 连接redis 需要安装redis 同时还需要安装hiredis xff0c hiredis是c 43 43 操作redis的api库 redis的安装这里不介绍了 xff0c 很多教程 这里直接从hiredis
  • sqlite3简单入门

    linux上一般默认是自带了sqlite3的 xff0c 所以学习sqlite3 xff0c 最好使用linux 这样可以跳过安装这一步 开始 xff0c 我们可以直接运行sqlite3 testsqlite3 db databases 可
  • linux下C++连接sqlite3

    linux下 xff0c c 43 43 连接sqlite3 xff0c 不需要额外的安装依赖库 xff0c linux自带了sqlite3 xff0c 在编译的时候 xff0c 只需要将sqlite3的库加入编译参数中即可 sqlite3
  • mongodb查询两个字段做加减乘除操作

    和使用关系型数据库一样 xff0c 我们在使用mongodb的时候 xff0c 我们希望有这样的操作 xff0c 就是查询两个字段的乘积或者和 xff0c 这就需要用到聚合查询了 xff0c 聚合查询的语法大致如下 xff1a db use
  • mongodb副本集oplogSize设置过小的问题

    mongodb副本集构建的高可用方案 xff0c 最少需要三个节点 xff0c 一个主节点master xff0c 一个从节点slave xff0c 一个选举仲裁节点arbiter 当主节点奔溃的时候 xff0c 仲裁节点选举从节点来接替主
  • mongodb开启安全认证

    默认 xff0c mongodb不开启安全认证 xff0c 通过mongo shell访问 xff0c 我们会看到mongo shell报出警告 xff1a 后面两个警告很好解决 xff1a 按照提示 xff0c 我们修改 sys kern
  • CCF-201809-3-元素选择器

    题目很长 xff0c 大家自行去官网看 第三题还是一如既往的是大模拟 xff0c 模拟css元素选择器 xff0c 有接触过前端的同学对此不陌生了吧 以前学css的时候就想过层叠样式表的实现 xff0c 但是也没细究 ccf第三题有出过ma
  • hbase shell命令行下常见操作

    hbase是基于hadoop的列簇数据库 xff0c 是nosql的一种 当我们搭建了hbase环境之后 xff0c 可以通过hbase shell命令 xff0c 进入hbase的命令行下 xff0c 可以进行创建表 xff0c 添加数据
  • redis高可用sentinel哨兵模式环境搭建

    redis高可用需要保证 xff0c 在主节点崩溃的时候 xff0c 从节点能够成为主节点 xff0c 继续提供服务 默认来说主从模式master slave就能做到这一点 xff0c 但是在实际环境中 xff0c 客户端连接的是指定的主机
  • win7笔记本电脑设置WiFi热点

    一般情况下 xff0c 我们是利用路由器设置WiFi热点 xff0c 但是如果没有路由器 xff0c 而有网线 xff0c 我们可以利用笔记本电脑来设置WiFi热点 xff0c 这里介绍如何通过笔记本电脑连接网线设置WiFi热点 笔记本电脑
  • 脚本之家上的一道题:如何通过findstr查找80和443端口记录

    一般来说 xff0c 我们都是在linux上编写bash脚本 xff0c 如果是在windows系统上 xff0c 我们就需要编写批处理脚本bat来处理相关业务逻辑 脚本之家上有这么一道题 xff1a 需要找到80 443端口的记录 xff
  • scylladb:利用java api操作scylladb数据库

    博客上全是关于scylladb的介绍和性能对比 xff0c 很少有scylladb方面的干货 xff0c 这里从scylladb官网各种文档里面整合出一个java版的例子 xff0c 例子中展示如何连接scylladb xff0c 如何加载