使用 java 从 cassandra 读取数据
read data from cassandra using java
My sample cassandra table looks like
id | article_read | last_hours | name
----+-----------------------------------
5 | [4, 5, 6] | 5 | shashank
10 | [12, 88, 32] | 1 | sam
8 | [4, 5, 6] | 8 | aman
7 | [5, 6] | 7 | ashif
6 | [4, 5, 6] | 6 | amit
9 | [4, 5, 6] | 9 | shekhar
我的 java 使用 cql 查询从 Cassandra table 读取数据的代码,
Scanner sc = new Scanner(System.in);
System.out.println("enter name1 ");
String name1 = sc.nextLine();
System.out.println("enter name2");
String name2 = sc.nextLine();
Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build();
Session session = cluster.connect("tp");
PreparedStatement queryStmt = session.prepare("select article_read from bat where name = ?");
ResultSet result1 = session.execute(queryStmt.bind(name1));
ResultSet result2 = session.execute(queryStmt.bind(name2));
System.out.println(result1.all());
System.out.println(result2.all());
if(result1.equals(result2))
{
System.out.println("100% sentiment ");
}
else
{
System.out.println("no sentiment ");
}
}
看看我的代码,它 运行 但是当我输入 name1、name2 shashank 和 aman 时它给出 100% 但是当给出 shashank 和 ashif 结果再次是 100% 匹配..
首先只准备一次查询,如下所示:
//Prepared only once.
PreparedStatement queryStmt = session.prepare("select * from bat where name = ?");
然后您可以像下面这样任意多次使用它:
ResultSet result1 = session.execute(queryStmt.bind("shashank"));
ResultSet result2 = session.execute(queryStmt.bind("aman"));
已编辑
try (Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build(); Session session = cluster.connect("test")) {
Scanner sc = new Scanner(System.in);
System.out.println("enter name1 ");
String name1 = sc.nextLine();
System.out.println("enter name2");
String name2 = sc.nextLine();
PreparedStatement queryStmt = session.prepare("select article_read from bat where name = ?");
ResultSet result1 = session.execute(queryStmt.bind(name1));
ResultSet result2 = session.execute(queryStmt.bind(name2));
if (result1.one().getList("article_read", Integer.class).equals(result2.one().getList("article_read", Integer.class))) {
System.out.println("100% sentiment ");
} else {
System.out.println("no sentiment ");
}
}
My sample cassandra table looks like
id | article_read | last_hours | name
----+-----------------------------------
5 | [4, 5, 6] | 5 | shashank
10 | [12, 88, 32] | 1 | sam
8 | [4, 5, 6] | 8 | aman
7 | [5, 6] | 7 | ashif
6 | [4, 5, 6] | 6 | amit
9 | [4, 5, 6] | 9 | shekhar
我的 java 使用 cql 查询从 Cassandra table 读取数据的代码,
Scanner sc = new Scanner(System.in);
System.out.println("enter name1 ");
String name1 = sc.nextLine();
System.out.println("enter name2");
String name2 = sc.nextLine();
Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build();
Session session = cluster.connect("tp");
PreparedStatement queryStmt = session.prepare("select article_read from bat where name = ?");
ResultSet result1 = session.execute(queryStmt.bind(name1));
ResultSet result2 = session.execute(queryStmt.bind(name2));
System.out.println(result1.all());
System.out.println(result2.all());
if(result1.equals(result2))
{
System.out.println("100% sentiment ");
}
else
{
System.out.println("no sentiment ");
}
}
看看我的代码,它 运行 但是当我输入 name1、name2 shashank 和 aman 时它给出 100% 但是当给出 shashank 和 ashif 结果再次是 100% 匹配..
首先只准备一次查询,如下所示:
//Prepared only once.
PreparedStatement queryStmt = session.prepare("select * from bat where name = ?");
然后您可以像下面这样任意多次使用它:
ResultSet result1 = session.execute(queryStmt.bind("shashank"));
ResultSet result2 = session.execute(queryStmt.bind("aman"));
已编辑
try (Cluster cluster = Cluster.builder().addContactPoint("127.0.0.1").build(); Session session = cluster.connect("test")) {
Scanner sc = new Scanner(System.in);
System.out.println("enter name1 ");
String name1 = sc.nextLine();
System.out.println("enter name2");
String name2 = sc.nextLine();
PreparedStatement queryStmt = session.prepare("select article_read from bat where name = ?");
ResultSet result1 = session.execute(queryStmt.bind(name1));
ResultSet result2 = session.execute(queryStmt.bind(name2));
if (result1.one().getList("article_read", Integer.class).equals(result2.one().getList("article_read", Integer.class))) {
System.out.println("100% sentiment ");
} else {
System.out.println("no sentiment ");
}
}