使用CQL jdbc驱动程序时连接字符串应该是什么?
我能否在Java在线使用CQL JDBC驱动程序找到适当/完整的CQL示例?
答案 0 :(得分:12)
你需要来自apache站点的cql jar。
这是我通过CLI输入数据后使用的基本测试(使用wiki中的示例):
public class CqlJdbcTestBasic {
public static void main(String[] args) {
Connection con = null;
try {
Class.forName("org.apache.cassandra.cql.jdbc.CassandraDriver");
con = DriverManager.getConnection("jdbc:cassandra:root/root@localhost:9160/MyKeyspace");
String query = "SELECT KEY, 'first', last FROM User WHERE age=42";
Statement stmt = con.createStatement();
ResultSet result = stmt.executeQuery(query);
while (result.next()) {
System.out.println(result.getString("KEY"));
System.out.println(result.getString("first"));
System.out.println(result.getString("last"));
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} finally {
if (con != null) {
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
con = null;
}
}
}
}
用户/密码(root / root)似乎是随意的,只需一定要指定Keyspace(MyKeyspace)
注意,'first'在查询字符串中引用,因为它是一个CQL关键字
答案 1 :(得分:2)
您也可以尝试使用http://code.google.com/a/apache-extras.org/p/cassandra-jdbc/中的cassandra-jdbc驱动程序。
或者使用以下maven依赖:
<dependency>
<groupId>org.apache-extras.cassandra-jdbc</groupId>
<artifactId>cassandra-jdbc</artifactId>
<version>1.2.1</version>
</dependency>