1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| public Recette getRecette(String idRecette) {
Connection connection = getConnection()) { // gestion par pool
try(
PreparedStatement preparedStatement = connection.prepareStatement("select nom_recette, INGREDIENT.id_ingredient, nom_ingredient FROM RECETTE, INGREDIENT, EST_INGREDIENT_DANS where EST_INGREDIENT_DANS .id_recette = ? AND EST_INGREDIENT_DANS.id_recette=RECETTE.id_recette AND EST_INGREDIENT_DANS.id_ingredient=INGREDIENT.id_ingredient") ) { // on créé la requête
preparedStatement.setString(1, idRecette); // on affecte le paramètre
ResultSet result = preparedStatement.executeQuery();
Recette recette = null;
while( result.next() ) {
if( recette==null ) { // on n'a pas encore la recette, on la créé (on le fait que sur la première ligne, évidemment)
recette = new Recette(idRecette, result.getString("nom_recette"));
}
// ensuite on lit l'ingredient
Ingredient ingredient = new Ingredient(result.getString("id_ingredient"), result.getString("nom_ingredient"));
// on l'ajoute à la recette
recette.getIngredients().add(ingredient);
}
return recette;
}
finally{
releaseConnection(connection); // restitution de la connexion au pool
} |
Partager