IN 절 매개변수 목록과 함께 preparedStatement 활용
JDBC에서 preparedStatement 인터페이스를 사용하면 동적으로 설정된 매개변수 값을 사용하여 SQL 쿼리를 실행할 수 있습니다. 일반적인 시나리오 중 하나는 IN 절을 활용하여 여러 값을 기반으로 데이터를 검색하는 것입니다.
IN 절을 사용한 쿼리 구문
다음 구문은 다음을 사용하는 쿼리의 예를 보여줍니다. IN 절:
connection.prepareStatement("Select * from test where field in (?)");
다중 처리 값
IN 절에 여러 값이 필요한 경우 이 상황을 처리하는 두 가지 접근 방식이 있습니다:
1. 알려진 매개변수 목록:
var stmt = String.format("select * from test where field in (%s)", values.stream() .map(v -> "?") .collect(Collectors.joining(", ")));
2. 알 수 없는 매개변수 목록:
StringBuilder builder = new StringBuilder(); for( int i = 0 ; i < values.size(); i++ ) { builder.append("?,"); } String placeHolders = builder.deleteCharAt( builder.length() -1 ).toString(); String stmt = "select * from test where field in ("+ placeHolders + ")";
매개변수 값 설정
쿼리 문자열이 준비되면 preparedStatement의 setObject 메서드를 사용하여 매개변수 값을 설정합니다. 매개변수의 인덱스는 각 값에 대해 업데이트되어야 합니다. 예:
int index = 1; for( Object o : values ) { pstmt.setObject( index++, o ); }
위 내용은 여러 매개변수 값에 대한 IN 절과 함께 preparedStatement를 효율적으로 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!