>  기사  >  Java  >  Spring의 JDBCTemplate에서 IN() SQL 쿼리를 어떻게 효과적으로 사용할 수 있습니까?

Spring의 JDBCTemplate에서 IN() SQL 쿼리를 어떻게 효과적으로 사용할 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-25 01:53:10658검색

How can I effectively use IN() SQL queries with Spring's JDBCTemplate?

Spring JDBCTemplate을 사용한 효과적인 IN() SQL 쿼리

현재 여러 줄로 절을 작성하는 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());
}

Prepared와 유사한 좀 더 우아한 방식을 추구합니다. 명령문의 매개변수 대체.

매개변수 소스 사용

원하는 우아함을 얻으려면 매개변수 소스를 사용할 수 있습니다.

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());

NamedParameterJdbcTemplate

이것은 다음 경우에만 작동합니다. getJdbcTemplate()은 NamedParameterJdbcTemplate 유형의 인스턴스를 반환합니다.

위 내용은 Spring의 JDBCTemplate에서 IN() SQL 쿼리를 어떻게 효과적으로 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.