Spring의 JDBCTemplate으로 IN() 쿼리 최적화
Spring의 JDBCTemplate으로 작업할 때 IN() 쿼리를 효율적으로 실행해야 하는 경우가 많습니다. IN 절을 수동으로 작성하는 것은 지루할 수 있지만 Spring은 매개변수 소스를 사용하여 보다 우아한 솔루션을 제공합니다.
NamedParameterJdbcTemplate을 사용한 매개변수 대체
IN() 쿼리가 있다고 가정합니다. 직업 유형 목록이 포함되어 있습니다. 절을 수동으로 구성하는 대신 MapSqlParameterSource 및 NamedParameterJdbcTemplate을 사용하여 매개변수 대체를 통해 동일한 결과를 얻을 수 있습니다. 방법은 다음과 같습니다.
Set<Integer> jobTypes = ...; MapSqlParameterSource parameters = new MapSqlParameterSource(); parameters.addValue("ids", jobTypes); List<Foo> foo = getJdbcTemplate().query("SELECT * FROM foo WHERE a IN (:ids)", parameters, getRowMapper());
이 솔루션에서는 getJdbcTemplate()이 NamedParameterJdbcTemplate 유형의 인스턴스를 반환해야 합니다. 그렇지 않은 경우 NamedParameterJdbcTemplate 생성자를 사용하여 명시적으로 만들 수 있습니다.
매개변수 소스의 장점
매개변수 소스를 사용하면 다음과 같은 여러 가지 이점을 얻을 수 있습니다.
위 내용은 Spring의 JDBCTemplate을 사용하여 IN() 쿼리를 어떻게 최적화할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!