발행하고 싶을 때 언제든지SQL데이터베이스에 대한 명령문, A가 필요합니다진술
또는준비 상태
인스턴스. 일단 당신은진술
또는준비 상태
, 스포츠 토토를 발행 할 수 있습니다.
이것은 a를 반환합니다.resultSet
전체 결과를 포함하는 인스턴스 (참조섹션 31.3.1여기
이 행동을 변경하는 방법).예 31-1그림
이 과정.
예 31-1. 간단한 쿼리 처리JDBC
이 예제는 간단한 스포츠 토토를 발행하고 인쇄합니다.
a를 사용하여 각 행의 첫 열진술
.
Statement st = db.createstatement (); resultSet rs = st.ExecuteQuery ( "columnfoo = 500"에서 mytable에서 선택 *); while (rs.next ()) System.out.print ( "열 1 반환"); System.out.println (rs.getstring (1));
이 예제는 이전과 동일한 쿼리를 발행하지만 A를 사용합니다.준비 상태
그리고 바인드
스포츠 토토의 값.
int foovalue = 500; preparedstatement st = db.preparestatement ( "columnfoo =?"); St.SetInt (1, foovalue); resultSet rs = st.ExecuteQuery (); while (rs.next ()) System.out.print ( "열 1 반환"); System.out.println (rs.getstring (1));
기본적으로 드라이버는 쿼리의 모든 결과를 수집합니다.
한 번에. 이것은 큰 데이터 세트에 불편할 수 있습니다.
JDBC 드라이버는 a를 기준으로하는 수단을 제공합니다.resultSet
데이터베이스 커서에서만
적은 수의 행을 가져 오기.
소수의 행이 클라이언트의 클라이언트쪽에 캐시됩니다. 연결 및 소진시 다음 행 블록은 다음과 같습니다. 커서를 재배치하여 검색합니다.
예 31-2. 페치 크기를 회전하도록 설정합니다 커서 켜기 및 끄기
커서 모드로 코드를 변경하는 것만 큼 간단합니다.
페치 크기의성명서
TO
적절한 크기. 페치 크기를 0으로 다시 설정합니다
모든 행이 캐시되게합니다 (기본 동작).
Statement st = db.createstatement (); // 커서 사용을 켜십시오. St.SetFetchSize (50); resultSet rs = st.ExecuteQuery ( "select * from mytable"); while (rs.next ()) System.out.print ( "행이 반환되었습니다.");
성명서
또는준비 상태
인터페이스다음은를 사용할 때 고려해야합니다.진술
또는준비된 상태
인터페이스 :
단일을 사용할 수 있습니다성명서
당신만큼 여러 번 인스턴스
원하다. 열 자마자 만들 수 있습니다.
연결 및 연결 수명에 사용하십시오. 하지만
당신은 하나만 기억해야합니다resultSet
|진술
또는준비된 상태
주어진 시간에.
처리하는 동안 스포츠 토토를 수행 해야하는 경우resultSet
, 간단히 할 수 있습니다
다른 생성 및 사용진술
.
스레드를 사용하는 경우 몇몇은
데이터베이스, 별도를 사용해야합니다진술
각 스레드에 대해. 참조토토 사이트 추천 : 문서 : 7.4 : 멀티 스레드 또는 서블릿 환경에서 드라이버 사용당신이 있다면
스레드 사용을 생각하면 중요한 것이 중요합니다
전철기.
를 사용하여 완료 될 때진술
또는준비된 상태
닫아야합니다
그것.
resultSet
인터페이스다음은를 사용할 때 고려해야합니다.resultSet
인터페이스 :
값을 읽기 전에 전화해야합니다next ()
. 이것은 a가 있으면 true를 반환합니다
결과, 그러나 더 중요한 것은 행을 준비합니다
처리.
아래JDBC사양은 한 번만 필드에 액세스해야합니다. 그것은 이 규칙을 고수하는 것이 가장 안전하지만 현재는하지만 그만큼PostgreSQL드라이버 원하는만큼 필드에 액세스 할 수 있습니다.
닫아야합니다resultSet
전화로Close ()
일단 사용을 마친 후
그것.
일단 당신이 |성명서
a를 만드는 데 사용됩니다resultSet
, 현재 오픈resultSet
인스턴스가 닫혔습니다
자동으로.