preparestement 상세 소개
매개 변수 표 시 를 추가 하지 않 으 면 SQL 처 리 를 단독 단계 로 나 눌 수 있 는 것 은 의미 가 없습니다.매개 변수 표 시 는 응용 프로그램 에 놓 여 있어 서 데이터베이스 에 준비 할 때 특정한 값 이 없 지만 처리 하기 전에 값 을 제공 합 니 다.SQL 구문 에서 매개 변 수 는 물음표 로 표 시 됩 니 다.
매개 변수 표 시 를 사용 하면 특정 요청 에 사용 할 일반 SQL 문 구 를 만 들 수 있 습 니 다.예 를 들 어 다음 SQL 검색 어 를 지정 합 니 다.
SELECT * FROM EMPLOYEE_TABLE WHERE LASTNAME = 'DETTINGER'
이것 은 특정한 SQL 문장 으로 하나의 값 만 되 돌려 줍 니 다.Dettinger 라 는 직원 에 대한 정보 다.매개 변수 표 시 를 추가 하면 문 구 를 더욱 유연 하 게 할 수 있 습 니 다.
SELECT * FROM EMPLOYEE_TABLE WHERE LASTNAME = ?
매개 변수 표 시 를 특정한 값 으로 간단하게 설정 하면 표 에 있 는 모든 직원 에 대한 정 보 를 얻 을 수 있 습 니 다.
이전 Statement 예제 에 서 는 한 번 의 준비 단 계 를 거 쳐 서로 다른 매개 변수 값 을 사용 하여 반복 적 으로 처리 할 수 있 기 때문에 Prepared Statement 은 Statement 보다 더 높 은 성능 을 제공 할 수 있 습 니 다.
메모: 이 컴퓨터 JDBC 드라이버 의 문 구 를 지원 하려 면 Prepared Statement 을 사용 해 야 합 니 다.
prepared Statement 방법 은 새로운 prepared Statement 대상 을 만 드 는 데 사 용 됩 니 다.createStatement 방법 과 달리 Prepared Statement 대상 을 만 들 때 SQL 문 구 를 제공 해 야 합 니 다.그 때 는 SQL 문 구 를 미리 컴 파일 하여 사용 할 수 있 도록 했다.예 를 들 어 conn 이라는 Connection 대상 이 존재 한다 고 가정 하면 다음 예제 에 서 는 Prepared Statement 대상 을 만 들 고 데이터베이스 에서 처리 할 SQL 문 구 를 준비 합 니 다.
PreparedStatement ps = conn.prepareStatement("SELECT * FROM EMPLOYEE_TABLE
WHERE LASTNAME = ?");
createStatement 방법 과 마찬가지 로 prepareStatement 방법 을 다시 불 러 오 는 목적 은 지정 한 ResultSet 특징 에 대한 지원 을 제공 하 는 것 입 니 다.prepare Statement 방법 은 변형 도 있어 자동 으로 생 성 되 는 키 를 사용 할 수 있 습 니 다.다음은 효과 적 인 prepare Statement 방법 이 호출 된 예제 입 니 다.
예시: prepareStatement 방법
주의: 중요 한 법률 정 보 를 이해 하기 위해 코드 예 시 를 읽 으 십시오.
// New in JDBC 2.0
PreparedStatement ps2 = conn.prepareStatement("SELECT * FROM
EMPLOYEE_TABLE WHERE LASTNAME = ?",
ResultSet.TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_UPDATEABLE);
// New in JDBC 3.0
PreparedStatement ps3 = conn.prepareStatement("SELECT * FROM
EMPLOYEE_TABLE WHERE LASTNAME = ?",
ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATEABLE,
ResultSet.HOLD_CURSOR_OVER_COMMIT);
PreparedStatement ps4 = conn.prepareStatement("SELECT * FROM
EMPLOYEE_TABLE WHERE LASTNAME = ?", Statement.RETURN_GENERATED_KEYS);
Prepared Statement 대상 을 처리 하기 전에 매개 변수 표 시 를 일부 값 으로 설정 해 야 합 니 다.Prepared Statement 대상 은 인 자 를 설정 하 는 방법 을 많이 제공 합 니 다.이 모든 방법의 형식 은 set < Type > 이 며, < Type > 은 자바 데이터 형식 입 니 다.이러한 방법의 일부 예 는 setInt, setLong, setString, setTimestamp, setNull 과 setBlob 를 포함한다.거의 모든 이 방법 들 은 두 개의 매개 변수 가 있다.
4. 567917. 첫 번 째 매개 변 수 는 이 매개 변수 가 문장에서 의 색인 이다.매개 변수 표 시 는 1 부터 의 번 호 를 가지 고 있 습 니 다
4. 567917. 두 번 째 매개 변 수 는 첫 번 째 매개 변 수 를 설정 해 야 하 는 값 입 니 다.set < Type > 방법 은 setBinary Stream 의 길이 매개 변수 와 같은 추가 적 인 매개 변 수 를 가지 고 있 습 니 다
더 많은 정보 에 대해 서 는 찾 아 보 세 요. java.sql 가방 의 자바 doc.ps 를 통 해 이전 예제 에서 준비 한 SQL 문 구 를 보 여 줍 니 다. 다음 코드 는 처리 하기 전에 매개 변수 값 을 지정 하 는 방법 을 설명 합 니 다.
ps.setString(1,'Dettinger');
설정 되 지 않 은 인자 표 시 를 가 진 Prepared Statement 을 처리 하려 면 SQLException 을 던 집 니 다.메모: 매개 변수 표 시 를 설정 한 후 다음 과 같은 상황 이 발생 하지 않 는 한 매개 변수 표 시 는 같은 값 을 유지 합 니 다.
다른 set 방법 으로 이 값 을 변경 하 였 습 니 다
4. 567917. clearParameters 방법 을 호출 할 때 이 값 을 제거 합 니 다
clearParameters 방법 은 모든 인 자 를 설정 되 지 않 은 것 으로 표시 합 니 다.clearParameters 호출 을 한 후 다음 과정 을 실행 하기 전에 모든 매개 변 수 를 set 방법 으로 다시 호출 해 야 합 니 다.
새로운 ParameterMetaData 인 터 페 이 스 는 매개 변수 에 대한 정 보 를 검색 할 수 있 습 니 다.이 지원 은 ResultSetMetaData 와 일치 하 며 유사 합 니 다.정밀도, 눈금, 데이터 형식, 데이터 형식 이름과 이 매개 변수 가 빈 값 을 허용 하 는 지 등 전면적 인 정 보 를 제공 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
깊이 중첩된 객체를 정확히 일치 검색 - PostgreSQL목차 * 🚀 * 🎯 * 🏁 * 🙏 JSON 객체 예시 따라서 우리의 현재 목표는 "고용주"사용자가 입력한 검색어(이 경우에는 '요리')를 얻고 이 용어와 정확히 일치하는 모든 사용자 프로필을 찾는 것입니다. 즐거운 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.