Java CassandraTemplate.execute批处理语句Spring中需要的帮助

Java CassandraTemplate.execute批处理语句Spring中需要的帮助,java,spring,cassandra,datastax,Java,Spring,Cassandra,Datastax,我很难找到一个示例程序,它使用execute of batch语句作为org.springframework.data.cassandra.core.CassandraTemplate的参数 基本上,我正在尝试批量执行多个插入 CqlTemplate cqltemplate = new CqlTemplate(session); cqltemplate.execute(Batch arg0); 这一切是如何结合在一起的?批处理在处理向任何未知表(未链接到实体类)插入多条记录时也存在问题。我的项

我很难找到一个示例程序,它使用execute of batch语句作为org.springframework.data.cassandra.core.CassandraTemplate的参数

基本上,我正在尝试批量执行多个插入

CqlTemplate cqltemplate = new CqlTemplate(session);
cqltemplate.execute(Batch arg0);
这一切是如何结合在一起的?批处理在处理向任何未知表(未链接到实体类)插入多条记录时也存在问题。我的项目需要一个方法来对给定的表和键和值的hashmap(行数据)进行多次插入,而hashmap没有等效的POJO类。关于如何实现这一点有什么建议吗?

根据需要,您需要创建
类com.datastax.driver.core.querybuilder.Batch的对象。
您可以使用
com.datastax.driver.core.querybuilder.querybuilder
batch
方法创建。CQLTemplate不应在代码中创建,应在配置中注入:

CQLTemplate cqlTemplate=new CQLTemplate();
yourServiceBean.setCQLTemplate(cqlTemplate);
在您的服务/dao中,它将类似于:

Batch batch=QueryBuilder.batch (...)
cqlTemplate.execute(batch);
根据需要,您需要创建一个
类com.datastax.driver.core.querybuilder.Batch
的对象。 您可以使用
com.datastax.driver.core.querybuilder.querybuilder
batch
方法创建。CQLTemplate不应在代码中创建,应在配置中注入:

CQLTemplate cqlTemplate=new CQLTemplate();
yourServiceBean.setCQLTemplate(cqlTemplate);
在您的服务/dao中,它将类似于:

Batch batch=QueryBuilder.batch (...)
cqlTemplate.execute(batch);

我能解决这个问题。谢谢你的指导。很抱歉,发晚了:

Insert insert1 = QueryBuilder.insert...
Batch batch = QueryBuilder.batch(insert1);
Insert insert2 = QueryBuilder.insert...
batch.add(insert2);

CassandraOperations cassandraOperations = new CassandraTemplate(session);
WriteOptions options = new WriteOptions();
options.setTtl(60);
options.setConsistencyLevel(ConsistencyLevel.ONE);
options.setRetryPolicy(RetryPolicy.DOWNGRADING_CONSISTENCY);
cassandraOperations.execute(batch.toString(), options);

我能解决这个问题。谢谢你的指导。很抱歉,发晚了:

Insert insert1 = QueryBuilder.insert...
Batch batch = QueryBuilder.batch(insert1);
Insert insert2 = QueryBuilder.insert...
batch.add(insert2);

CassandraOperations cassandraOperations = new CassandraTemplate(session);
WriteOptions options = new WriteOptions();
options.setTtl(60);
options.setConsistencyLevel(ConsistencyLevel.ONE);
options.setRetryPolicy(RetryPolicy.DOWNGRADING_CONSISTENCY);
cassandraOperations.execute(batch.toString(), options);

我在网上查看了如何创建Batch语句并将其作为参数传递到execute方法中Spring中无可用我在网上查看了如何创建Batch语句并将其作为参数传递到execute方法中Spring中无可用感谢详细信息。然而,批处理在处理将多条记录插入任何未知表(未链接到实体类)时存在问题。我的项目需要一个方法来为给定的表以及键和值的hashmap(行数据)执行多次插入,而该表和hashmap没有等效的POJO类。您应该将这些详细信息添加到问题中一个简短的示例:
QueryBuilder.batch(new SimpleStatement(“SELECT*FROM…”,…)
感谢您提供的详细信息。然而,批处理在处理将多条记录插入任何未知表(未链接到实体类)时存在问题。我的项目需要一个方法来对给定的表以及键和值的hashmap(行数据)进行多次插入,而该表和hashmap没有等效的POJO类。您应该将这些详细信息添加到问题中一个简短的示例:
QueryBuilder.batch(new SimpleStatement(“SELECT*FROM…”,…)