Эффективные SQL-запросы IN() с помощью JDBCTemplate Spring
У вас есть запрос IN(), который в настоящее время требует построения предложения из нескольких строк кода:
StringBuilder jobTypeInClauseBuilder = new StringBuilder(); for(int i = 0; i < jobTypes.length; i ) { Type jobType = jobTypes[i]; if(i != 0) { jobTypeInClauseBuilder.append(','); } jobTypeInClauseBuilder.append(jobType.convert()); }
Вы ищете более элегантный способ, похожий на подстановку параметров подготовленных операторов.
Использование источника параметров
Для достижения желаемой элегантности , вы можете использовать источник параметров:
Setids = ...; MapSqlParameterSource parameters = new MapSqlParameterSource(); parameters.addValue("ids", ids); List foo = getJdbcTemplate().query("SELECT * FROM foo WHERE a IN (:ids)", parameters, getRowMapper());
NamedParameterJdbcTemplate
Обратите внимание, что это работает только в том случае, если getJdbcTemplate() возвращает экземпляр типа NamedParameterJdbcTemplate.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3