Lors de l'exécution d'une requête SQL avec une clause IN à l'aide de PreparedStatement de JDBC, définir les valeurs de plusieurs paramètres peut être difficile.
Manipulation prédéterminée Paramètres
Si la liste des paramètres est connue à l'avance, utilisez l'approche suivante :
Gestion des paramètres inconnus
Si la liste des paramètres n'est pas connue au préalable, suivez les étapes suivantes :
Par exemple, pour définir les paramètres de la requête, sélectionnez * à partir du test où champ dans (?) avec plusieurs valeurs, vous pouvez utiliser le code suivant :
String query = String.format("select * from test where field in (%s)", values.stream() .map(v -> "?") .collect(Collectors.joining(", "))); PreparedStatement stmt = connection.prepareStatement(query); int index = 1; for (Object o : values) { stmt.setObject(index++, o); }
Cette approche garantit que la clause IN peut accueillir dynamiquement n'importe quel nombre de paramètres, permettant une exécution flexible des requêtes.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!