原标题:Apache Cassandra 的 Spring 数据教程三(Spring认证中国教育管理中心)
9.5.CqlTemplate
的CqlTemplate类是在芯CQL包的核心类。它处理资源的创建和释放。它执行核心 CQL 工作流的基本任务,例如语句创建和执行,并留下应用程序代码来提供 CQL 和提取结果。该CqlTemplate级执行CQL的查询和更新语句,在执行迭代ResultSet情况下,返回的参数值的提取。它还捕获 CQL 异常并将它们转换为org.springframework.dao包中定义的通用的、信息更丰富的异常层次结构。
当您将CqlTemplate用于您的代码时,您只需要实现回调接口,该接口具有明确定义的契约。给定 a Connection,PreparedStatementCreator回调接口使用提供的 CQL 和任何必要的参数参数创建一个准备好的语句。该RowCallbackHandler接口从 a 的每一行中提取值ResultSet。
CqlTemplate可以通过SessionFactory引用直接实例化在 DAO 实现中使用,也可以在 Spring 容器中配置并作为 bean 引用提供给 DAO。CqlTemplate是CassandraTemplate.
此类发布的所有 CQL 都记录在与DEBUG模板实例的完全限定类名对应的类别下的级别(通常为CqlTemplate,但如果您使用CqlTemplate该类的自定义子类,则可能会有所不同)。
您可以控制在CQL API实例配置这些参数提取大小,一致性水平,重试策略的默认值:CqlTemplate,AsyncCqlTemplate,和ReactiveCqlTemplate。如果未设置特定查询选项,则应用默认值。
CqlTemplate有不同的执行模型风格。基本CqlTemplate使用阻塞执行模型。您可以AsyncCqlTemplate用于异步执行和与ListenableFuture实例的同步或 ReactiveCqlTemplate反应式执行。
9.5.1.CqlTemplate类使用示例
本节提供了一些正在运行的CqlTemplate类的示例。这些示例并不是CqlTemplate. 请参阅Javadoc。
查询 (SELECT) 与CqlTemplate
以下查询获取表中的行数:
int rowCount = cqlTemplate.queryForObject("SELECT COUNT(*) FROM t_actor", Integer.class);