12 votes

Passer un paramètre à la requête CQL de Cassandra en utilisant le client DataStax

J'utilise datastax comme client pour me connecter à Cassandra. J'ai réussi à me connecter au cluster, aux espaces clés et aux familles de colonnes de Cassandra via Java. J'essaie de lancer des requêtes sur les familles de colonnes de Cassandra via Java. Pour moi, cela fonctionne pour des requêtes simples comme

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

Maintenant je veux prendre le paramètre id de l'utilisateur et le passer à session.execute() ; déclaration. Comment dois-je m'y prendre ?

18voto

Lyuben Todorov Points 7885

Voici un exemple de code pour insérer des données sur une image en utilisant une instruction préparée.

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"));

Deux articles de blog récents ont été publiés sur Planet Cassandra avec une démonstration de ce que le pilote peut faire. Ils contiennent des exemples de code, alors consultez-les :

  1. Materialized View avec Cassandra et DataStax Java Driver
  2. Petite application Java utilisant le pilote Java de DataStax et Cassandra 1.2 en fonctionnement

0voto

Raedwald Points 8862

Vous devez créer une déclaration préparée. Ensuite, vous devez lier cette instruction avec la valeur d'identification que vous avez obtenue de l'utilisateur. Ensuite, vous pouvez exécuter l'instruction liée.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X