12

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?

su-
  • 3,116
  • 3
  • 32
  • 42
Saurabh Deshpande
  • 1,153
  • 4
  • 18
  • 35

2 Answers2

16

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
Lyuben Todorov
  • 13,987
  • 5
  • 50
  • 69
0

You need to create a prepared statement. Then you need to bind that statement with the ID value you got from the user. Then you can execute the bound statement.

Raedwald
  • 46,613
  • 43
  • 151
  • 237