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 중국어 웹사이트의 기타 관련 기사를 참조하세요!