cassandra 之 jdbc 使用【java、scala】

时间:2023-03-08 15:58:33

1、数据库创建

参考接上文cassandra入门 http://www.cnblogs.com/piaolingzxh/p/4197833.html

2、下载jdbc驱动源码,构建jar包

源码下载地址:https://bitbucket.org/openscg/cassandra2-jdbc/src,最新包可能会构建失败,请下载2.1.1版的

当然,你也可以使用我构建好的,地址:http://download.****.net/detail/piaolingzxh/8320131

注:使用maven构建,

3、使用java连接cassandra

创建java项目,引入这些jar包,

cassandra 之 jdbc 使用【java、scala】

至于为啥要引入这些包,可以参看下载的jdbc源码示例,examples\runTest.sh

cassandra 之 jdbc 使用【java、scala】

jar包位置说明:下图这两个包直接使用jdbc驱动源码下lib\目录里的版本,其他的使用cassandra安装目录\lib下的版本

cassandra 之 jdbc 使用【java、scala】

最后编写代码,运行

代码如下:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement; public class cassandra2 {
public static void main(String[] a) {
try {
Class.forName("org.bigsql.cassandra2.jdbc.CassandraDriver");
Connection con = DriverManager
.getConnection("jdbc:cassandra://127.0.0.1:9160/demo"); String query = "select * from demo.users"; Statement statement = con.createStatement();
ResultSet rs = statement.executeQuery(query); while (rs.next()) {
System.out.print(rs.getString(1) + ":" + rs.getString(2) + "\t"
+ rs.getString(3) + "\t" + rs.getString(4) + "\t"
+ rs.getString(5) + "\t" + rs.getString(6) + "\t"
+ "\n");
} rs.close();
statement.close();
} catch (Exception e) {
e.printStackTrace();
} }
}

运行结果

  cassandra 之 jdbc 使用【java、scala】

4、scala 连接cassandra

创建scala项目,引用jar包,(和使用java一样)

创建scala类,输入以下代码,

import java.sql.DriverManager
import org.bigsql.cassandra2.jdbc.CassandraDriver

object cassandra {

import java.sql.{ Connection, DriverManager, ResultSet }

def main(args: Array[String]): Unit = {
classOf[org.bigsql.cassandra2.jdbc.CassandraDriver]
val db = DriverManager.getConnection("jdbc:cassandra://127.0.0.1:9160/demo")
val st = db.createStatement
val res = st.executeQuery("select * from demo.users")
while (res.next) {
for (i <- 1 to res.getMetaData.getColumnCount) {
val r = res.getString(i).toString
print("\t" + r)
}
println
}
db.close
}
}

运行结果

cassandra 之 jdbc 使用【java、scala】