我使用datastax java驱动程序与cassandra进行通信,我要求将地图插入cassandra,但是以每个键的形式,map 的值作为单独记录。下面是我的示例表模式
CREATE TABLE emp (
key int PRIMARY KEY,
value text
)
以下是我正在使用的示例代码
String insertStatement = "INSERT INTO test.emp(key,value) values (?,?)";
PreparedStatement preStmt = session.prepare(insertStatement);
BatchStatement batchStmt = new BatchStatement();
for (Map.Entry<Integer, String> entry : dataMap.entrySet()) {
Integer key = entry.getKey();
String value = entry.getValue();
BoundStatement boundStmt = preStmt.bind(key, value);
batchStmt.add(boundStmt);
}
session.executeAsync(batchStmt);
上面的代码正在运行,但现在我再次遍历地图(因为其他应用程序将发送数据地图,我无法在将数据推送到地图时绑定参数)并将值绑定到preparedStatement。
这里我的要求不是再次遍历map而是绑定params还有其他任何简单方法,比如我们发送map和准备语句它会将数据作为单独的记录插入到cassandra中