当前位置: 首页 > 知识库问答 >
问题:

从Cassandra ResultSet获取BigENTger属性

庞阳波
2023-03-14

我正在尝试获取 Cassandra 列系列中的键值对的数量。以下是我使用的代码。

PreparedStatement statement = client.session
            .prepare("select count(*) from corpus.word_usage");
ResultSet results = client.session.execute(statement.bind());   
Row row = results.one();
System.out.println(row.getVarint(0));

但是当我运行这段代码时,我收到了以下异常。

Exception in thread "main" com.datastax.driver.core.exceptions.InvalidTypeException: Column count is of type bigint
   at com.datastax.driver.core.ColumnDefinitions.checkType(ColumnDefinitions.java:291)
   at com.datastax.driver.core.ArrayBackedRow.getVarint(ArrayBackedRow.java:185)
   at SimpleClient.main(SimpleClient.java:57)

根据datastax文档(http://www . datastax . com/drivers/Java/2.0/com/datastax/driver/core/row . html),getVarint应该返回一个BigInteger。那么为什么我会得到一个异常呢?我做错了什么?

共有3个答案

商松
2023-03-14

Cassandra中的bigint用长Java类型映射。文档:CQL到Java类型映射。

在您的情况下:

row.getLong(0)
通正平
2023-03-14

跟踪成功了。我不知道为什么它会成功。

row.getLong(0)
梁宪
2023-03-14

相反,您可以获得多头的价值。

我无法测试它,但你能试试这个:

PreparedStatement statement = client.session.prepare("select count(*) from corpus.word_usage");
ResultSet results = client.session.execute(statement.bind());   
Row row = results.one();
long expected = row.getLong("count");
 类似资料:
  • 我想从我的TableCell中的模型中获取一个属性,因此我可以根据该属性对单元格进行修改,让我们看一下以下示例: 我有这样一个模型: 这个模型只是我所拥有的模型的一个模拟,我有几个模型有两个或更多的

  • 我有一个包含如下值的对象 这些都在变量autossuggest中。现在我只想获得值 谢谢你的小费

  • 我试图从Woocommerce的Wordpress网站上获取产品数据。我使用下面的代码获取特定类别产品的名称和缩略图。 这在获取“工具”类别中产品的名称和图像方面效果很好,但我想获取每个产品的权重。 产品重量在WordPress仪表板中设置为产品属性。 如何获取产品的这些数据?我似乎找不到访问这些的功能。

  • 我有一个java代码可以将这些值追加到我的属性文件中 我的属性文件将有如下条目。 key1=主机、端口、orcl、用户名、密码 key2=主机、端口、orcl、用户名、密码 key3=主机、端口、orcl、用户名、密码等… 这些key1、key2和key3是连接名。 在进入属性文件之前,首先我必须检查该文件是否提供了连接名条目。我的意思是,如果用户再次使用key1或key2或key3连接名输入值,

  • 我有一个基本的SpringBoot应用程序。使用Spring初始值设定项、嵌入式Tomcat、Thymeleaf模板引擎和作为可执行JAR文件的包。 在我的财产档案中: 在我的控制器中: 在模板中: 但这是我在模板中看到的,而不是电子邮件(已拍摄)

  • 问题内容: 我正在使用SSH2。当我尝试通过设置属性时,这是正确的。但是,当我尝试使用获得相同的属性时,我什么也没有。 为什么?他们不一样吗? 当我使用时,我得到了这些: 似乎在休眠状态下进行会话。为什么? 问题答案: 是的,它们是不同的,在scriptlet中,您使用http会话隐式对象;在struts标签属性中,您引用通过OGNL检索的struts会话映射对象。您一无所获,只是因为它们与众不同