Spring의 JDBCTemplate은 IN() 절을 사용하는 쿼리를 포함하여 SQL 쿼리를 효율적으로 실행하는 방법을 제공합니다. 다음은 일반적이지만 아마도 최적은 아닐 수 있는 접근 방식입니다.
<code class="language-java">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()); }</code>
보다 우아한 해결책은 매개변수 소스를 사용하는 것입니다. 이 방법에는 다음이 포함됩니다.
<code class="language-java">Set<Integer> ids = ...; MapSqlParameterSource parameters = new MapSqlParameterSource(); parameters.addValue("ids", ids); List<Foo> foo = getJdbcTemplate().query("SELECT * FROM foo WHERE a IN (:ids)", parameters, getRowMapper());</code>
위 내용은 Spring의 JDBCTemplate은 IN() 쿼리를 어떻게 최적화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!