JDBC의 ReadyStatement를 사용하여 IN 절이 있는 SQL 쿼리를 실행할 때 여러 매개변수의 값을 설정하는 것이 어려울 수 있습니다.
미리 결정된 처리 매개변수
매개변수 목록을 미리 알고 있는 경우 다음 접근 방식을 사용합니다.
알 수 없는 매개변수 처리
매개변수 목록을 미리 알 수 없는 경우 다음 단계를 따르세요.
예를 들어, 쿼리의 매개 변수 Select * from test where 필드(?)에 여러 값이 있는 경우 다음 코드를 사용할 수 있습니다.
String query = String.format("select * from test where field in (%s)", values.stream() .map(v -> "?") .collect(Collectors.joining(", "))); PreparedStatement stmt = connection.prepareStatement(query); int index = 1; for (Object o : values) { stmt.setObject(index++, o); }
이 접근 방식을 사용하면 IN 절이 모든 수의 매개 변수를 동적으로 수용할 수 있으므로 유연한 쿼리 실행을 위해.
위 내용은 JDBC에서 여러 매개변수에 대한 IN 절과 함께 preparedStatement를 효율적으로 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!