CQL statements that are executed multiple times can be prepared and stored in a PreparedStatement object. The prepared statement is parameterized with ? placeholders for the literal values in CQL. The Cassandra server caches the prepared statement and returns an ID to the client. The client sends the ID when it needs to execute the prepared statement along with the parameter bindings. The server reuses the server-side prepared statement it has cached to execute the query. This is all done transparent to the application.
Let's run the earlier query using prepared statements and name the program SimplePreparedQuery.java:
import com.datastax.driver.core.BoundStatement;
import com.datastax.driver.core.Cluster;
import com.datastax.driver.core.ConsistencyLevel;
import com.datastax.driver.core.PreparedStatement;
import com.datastax.driver.core.ResultSet;
import com.datastax.driver.core.Row...