Apache Cassandra和Java入门(第一部分)

在此页面上,您将学到足够的知识来开始使用NoSQL Apache Cassandra和Java,包括如何安装,尝试一些基本命令以及下一步做什么。

要求

要遵循本教程,您应该已经有一个正在运行的Cassandra实例,并且已经在这里进行了10分钟的演练: http : //planetcassandra.org/create-a-keyspace-and-table/

如果您已经阅读了第一部分,请务必查看Apache Cassandra和Java Part II入门

您应该仍然设置了演示键空间和模式,我们将在下面引用它。

设定

对于此演示,我们将创建一个简单的控制台应用程序。 打开文本编辑器,并使用“ GettingStarted”类和单个main方法创建一个Java文件。

public class GettingStarted {
 
        public static void main(String[] args) {

我们还需要从下载页面下载驱动程序jar文件。 点击这里。 下载后,您需要在工作目录中将其展开。 然后,我们必须确保在编译.java文件时将其包括在类路径中。

例如:

javac -classpath cassandra-java-driver-2.0.2/cassandra-driver-core-2.0.2.jar:. GettingStarted.java

当我们运行文件时:

java -classpath cassandra-java-driver-2.0.2/*:cassandra-java-driver-2.0.2/lib/*:. GettingStarted

试试看

我们所有的代码都将进入我们的main方法。 首先,我们需要创建集群和会话实例字段来保存引用。 一个会话将管理与我们集群的连接。

Cluster cluster;
Session session;

使用Cluster.builder方法连接到您的实例。 它将添加一个接触点并构建一个集群实例。 从您的集群获取一个会话,并连接到“演示”键空间。

// Connect to the cluster and keyspace "demo"
cluster = Cluster.builder().addContactPoint("127.0.0.1").build();
session = cluster.connect("demo");

现在您已连接到“演示”键空间,让我们将用户插入“用户”表中

// Insert one record into the users table
session.execute("INSERT INTO users (lastname, age, city, email, firstname) VALUES ('Jones', 35, 'Austin', 'bob@example.com', 'Bob')");

使用Java驱动程序,我们可以轻松地将用户撤出

// Use select to get the user we just entered
ResultSet results = session.execute("SELECT * FROM users WHERE lastname='Jones'");
for (Row row : results) {
System.out.format("%s %d\n", row.getString("firstname"), row.getInt("age"));
}

由于是鲍勃(Bob)的生日,我们将更新他的年龄。

// Update the same user with a new age
session.execute("update users set age = 36 where lastname = 'Jones'");
// Select and show the change
results = session.execute("select * from users where lastname='Jones'");
for (Row row : results) {
System.out.format("%s %d\n", row.getString("firstname"), row.getInt("age"));
 
}

现在让我们从表中删除Bob。 然后,我们可以打印出所有行。 您会注意到,鲍勃的信息在删除后不再返回(如果您以前插入过用户,则其他人可能会回来)。

// Delete the user from the users table
session.execute("DELETE FROM users WHERE lastname = 'Jones'");
// Show that the user is gone
results = session.execute("SELECT * FROM users");
for (Row row : results) {
System.out.format("%s %d %s %s %s\n", row.getString("lastname"), row.getInt("age"),  row.getString("city"), row.getString("email"), row.getString("firstname"));
}

完成后,请确保连接关闭。

// Clean up the connection by closing it
cluster.close();
    }
}

CQL与SQL非常相似,在许多情况下,相同的语法将起作用。 如果您具有关系数据库的背景知识,这将使查询数据非常简单。

您刚刚设法连接到Cassandra集群并针对实时(本地)数据库执行查询。 希望这证明了使用Java驱动程序使用Cassandra多么容易。 GitHub上提供了此示例的完整控制台应用程序的要点。

更多资源

Apache Cassandra和Java Part II入门

阅读Java驱动程序的文档

了解有关安全性和性能的准备好的语句的更多信息。

阅读有关CQL的更多信息

翻译自: https://www.javacodegeeks.com/2014/11/getting-started-with-apache-cassandra-and-java-part-i.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值