Utilisation des PreparedStatement

Les PreparedStatement sont des requêtes SQL paramétrées.

Les instructions SQL des instances de PreparedStatement contiennent un ou plusieurs paramètres d'entrée, non spécifiés lors de la création de l'instruction. Ces paramètres sont re présentés par des points d'interrogation(?). La requête peut alors être :

select count(*) from table where annee=? and mois=?

Ces paramètres doivent être spécifiés avant l'exécution. Pour cela, on créé un PreparedStatement sur lequel on utilise la méthode setString ou setInt pour préciser la manière dont on souhaite remplacer le "?". Le premier setXXX effectué remplace le premier "?", le second setXXX effectué remplace le second"?", etc.

Exemple :


/* Création de la requête paramétrée */
private String REQUETE="select count(*) from table where annee=? and mois=?";
/* On créé une connexion, dans cet exemple insee-config est utilisé */
Connection connection=InseeConfig.getConnection("application");
PreparedStatement stmt;
try {
stmt = connection.prepareStatement(REQUETE);
/* Le premier ? est remplacé par '2015' */
stmt.setString(1, "2015");
/* Le second ? est remplacé par 'Février' */
stmt.setString(2, "Février");
ResultSet rs = stmt.executeQuery();
/* Suite du traitement */
}
catch (SQLException e) {
log.error(e);
}
A voir également
Ce document intitulé « Utilisation des PreparedStatement » issu de CodeS SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Rejoignez-nous