在此页面上,您将学到足够的知识来开始使用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