Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Passing parameter to Cassandra CQL query using DataStax client

I am using datastax as a client for connecting to cassandra. I have successfully connected to cassandra cluster/keyspace/column families through Java. I am trying, firing some queries on cassandra column family thriugh java. For me it is working for simple queries like

ResultSet results = session.execute("select * from demodb.customer where id = 1");

Now I want to take id parameter from user and pass it to session.execute(); statement. How should I go about it?

like image 364
Saurabh Deshpande Avatar asked Jul 02 '13 06:07

Saurabh Deshpande


1 Answers

Here is a code example of inserting data about an image using a prepared statements.

PreparedStatement statement = getSession().prepare(
                               "INSERT INTO pixelstore.image " +
                               "(image_name, " +
                               " upload_time, " + 
                               " upload_by, " + 
                               " file_type, " + 
                               " file_size" +
                               ") VALUES (?, ?, ?, ?, ?);"); 

// create the bound statement and initialise it with your prepared statement
BoundStatement boundStatement = new BoundStatement(statement);

session.execute( // this is where the query is executed
  boundStatement.bind( // here you are binding the 'boundStatement'
    "background", TimeUtil.getTimeUUID(),  "lyubent", "png", "130527"));

There have been two recent blog posts on planet cassandra with a demo of what the driver can do, they contain code examples so check them out:

  1. Materialized View with Cassandra and DataStax Java Driver
  2. Small Java Application using DataStax Java Driver and Cassandra 1.2 working
like image 99
Lyuben Todorov Avatar answered Oct 18 '22 13:10

Lyuben Todorov