Optimisation des requêtes IN() dans le modèle JDBC de Spring
La création manuelle de requêtes IN() dans le JDBCTemplate de Spring par concaténation de chaînes est inefficace et sujette aux erreurs. Une méthode supérieure exploite la substitution de paramètres pour un code plus propre et plus sûr.
Utilisation de ParameterSource pour une efficacité améliorée
L'approche privilégiée consiste à utiliser un ParameterSource
. Cela permet d'utiliser des collections ou des tableaux pour définir des critères de requête IN(), gérant automatiquement la conversion en chaîne séparée par des virgules.
Exemple de code illustratif :
<code class="language-java">Set<Integer> ids = ...; MapSqlParameterSource parameters = new MapSqlParameterSource(); parameters.addValue("ids", ids); List<Foo> fooList = getJdbcTemplate().query("SELECT * FROM foo WHERE a IN (:ids)", parameters, new FooRowMapper());</code>
Considération importante : Cette technique nécessite l'utilisation de NamedParameterJdbcTemplate
, facilement accessible via getJdbcTemplate()
.
Avantages clés :
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!