이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다현재버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

31.3. 스포츠 토토 발행 및 결과 처리

발행하고 싶을 때 언제든지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));

31.3.1. a 커서

기본적으로 드라이버는 쿼리의 모든 결과를 수집합니다. 한 번에. 이것은 큰 데이터 세트에 불편할 수 있습니다. 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 ( "행이 반환되었습니다.");

31.3.2. 사용 사용성명서또는준비 상태인터페이스

다음은를 사용할 때 고려해야합니다.진술또는준비된 상태인터페이스 :

  • 단일을 사용할 수 있습니다성명서당신만큼 여러 번 인스턴스 원하다. 열 자마자 만들 수 있습니다. 연결 및 연결 수명에 사용하십시오. 하지만 당신은 하나만 기억해야합니다resultSet|진술또는준비된 상태주어진 시간에.

  • 처리하는 동안 스포츠 토토를 수행 해야하는 경우resultSet, 간단히 할 수 있습니다 다른 생성 및 사용진술.

  • 스레드를 사용하는 경우 몇몇은 데이터베이스, 별도를 사용해야합니다진술각 스레드에 대해. 참조토토 사이트 추천 : 문서 : 7.4 : 멀티 스레드 또는 서블릿 환경에서 드라이버 사용당신이 있다면 스레드 사용을 생각하면 중요한 것이 중요합니다 전철기.

  • 를 사용하여 완료 될 때진술또는준비된 상태닫아야합니다 그것.

31.3.3. 사용 사용resultSet인터페이스

다음은를 사용할 때 고려해야합니다.resultSet인터페이스 :

  • 값을 읽기 전에 전화해야합니다next (). 이것은 a가 있으면 true를 반환합니다 결과, 그러나 더 중요한 것은 행을 준비합니다 처리.

  • 아래JDBC사양은 한 번만 필드에 액세스해야합니다. 그것은 이 규칙을 고수하는 것이 가장 안전하지만 현재는하지만 그만큼PostgreSQL드라이버 원하는만큼 필드에 액세스 할 수 있습니다.

  • 닫아야합니다resultSet전화로Close ()일단 사용을 마친 후 그것.

  • 일단 당신이 |성명서a를 만드는 데 사용됩니다resultSet, 현재 오픈resultSet인스턴스가 닫혔습니다 자동으로.