Apache Cassandra和Java入门(第一部分)
在此頁(yè)面上,您將學(xué)到足夠的知識(shí)來(lái)開(kāi)始使用NoSQL Apache Cassandra和Java,包括如何安裝,嘗試一些基本命令以及下一步做什么。
要求
要遵循本教程,您應(yīng)該已經(jīng)有一個(gè)正在運(yùn)行的Cassandra實(shí)例,并且已經(jīng)在這里進(jìn)行了10分鐘的演練: http : //planetcassandra.org/create-a-keyspace-and-table/ 。
如果您已經(jīng)閱讀了第一部分,請(qǐng)務(wù)必查看Apache Cassandra和Java Part II入門 。
您應(yīng)該仍然設(shè)置了演示鍵空間和模式,我們將在下面引用它。
設(shè)定
對(duì)于此演示,我們將創(chuàng)建一個(gè)簡(jiǎn)單的控制臺(tái)應(yīng)用程序。 打開(kāi)文本編輯器,并使用“ GettingStarted”類和單個(gè)main方法創(chuàng)建一個(gè)Java文件。
public class GettingStarted {public static void main(String[] args) {我們還需要從下載頁(yè)面下載驅(qū)動(dòng)程序jar文件。 點(diǎn)擊這里。 下載后,您需要在工作目錄中將其展開(kāi)。 然后,我們必須確保在編譯.java文件時(shí)將其包括在類路徑中。
例如:
javac -classpath cassandra-java-driver-2.0.2/cassandra-driver-core-2.0.2.jar:. GettingStarted.java
當(dāng)我們運(yùn)行文件時(shí):
java -classpath cassandra-java-driver-2.0.2/*:cassandra-java-driver-2.0.2/lib/*:. GettingStarted
試試看
我們所有的代碼都將進(jìn)入我們的main方法。 首先,我們需要?jiǎng)?chuàng)建集群和會(huì)話實(shí)例字段來(lái)保存引用。 一個(gè)會(huì)話將管理與我們集群的連接。
Cluster cluster; Session session;使用Cluster.builder方法連接到您的實(shí)例。 它將添加一個(gè)接觸點(diǎn)并構(gòu)建一個(gè)集群實(shí)例。 從您的集群獲取一個(gè)會(huì)話,并連接到“演示”鍵空間。
// Connect to the cluster and keyspace "demo" cluster = Cluster.builder().addContactPoint("127.0.0.1").build(); session = cluster.connect("demo");現(xiàn)在您已連接到“演示”鍵空間,讓我們將用戶插入“用戶”表中
// 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驅(qū)動(dòng)程序,我們可以輕松地將用戶撤出
// 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"));}現(xiàn)在讓我們從表中刪除Bob。 然后,我們可以打印出所有行。 您會(huì)注意到,鮑勃的信息在刪除后不再返回(如果您以前插入過(guò)用戶,則其他人可能會(huì)回來(lái))。
// 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")); }完成后,請(qǐng)確保連接關(guān)閉。
// Clean up the connection by closing it cluster.close();} }CQL與SQL非常相似,在許多情況下,相同的語(yǔ)法將起作用。 如果您具有關(guān)系數(shù)據(jù)庫(kù)的背景知識(shí),這將使查詢數(shù)據(jù)非常簡(jiǎn)單。
您剛剛設(shè)法連接到Cassandra集群并針對(duì)實(shí)時(shí)(本地)數(shù)據(jù)庫(kù)執(zhí)行查詢。 希望這證明了使用Java驅(qū)動(dòng)程序使用Cassandra多么容易。 GitHub上提供了此示例的完整控制臺(tái)應(yīng)用程序的要點(diǎn)。
更多資源
Apache Cassandra和Java Part II入門 。
閱讀Java驅(qū)動(dòng)程序的文檔 。
了解有關(guān)安全性和性能的準(zhǔn)備好的語(yǔ)句的更多信息。
閱讀有關(guān)CQL的更多信息 。
翻譯自: https://www.javacodegeeks.com/2014/11/getting-started-with-apache-cassandra-and-java-part-i.html
總結(jié)
以上是生活随笔為你收集整理的Apache Cassandra和Java入门(第一部分)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 安卓枪战游戏(安卓枪战)
- 下一篇: 房子备案表是什么样子的(房屋备案表什么样