발행을 원할 때마다SQL데이터베이스에 대한 명령문을 작성하려면 다음이 필요합니다.성명또는PreparedStatement인스턴스. 일단 당신은성명또는준비된 진술, 쿼리를 발행할 수 있습니다.
그러면 다음이 반환됩니다.결과세트6745_6798섹션 31.3.1여기
이 동작을 변경하는 방법에 대해 알아보세요).예 31-1설명합니다
이 과정.
예 31-1. 간단한 쿼리 처리JDBC
이 예는 간단한 쿼리를 실행하고 다음을 인쇄합니다.
a를 사용하는 각 행의 첫 번째 열성명서.
문 st = db.createStatement();
ResultSet rs = st.executeQuery("SELECT * FROM mytable WHERE 컬럼foo = 500");
동안(rs.next())
System.out.print("열 1이 반환되었습니다. ");
System.out.println(rs.getString(1));
이 예는 이전과 동일한 쿼리를 실행하지만 다음을 사용합니다.PreparedStatement그리고 바인드
스포츠 토토의 값입니다.
int foovalue = 500;
ReadyStatement st = db.prepareStatement("SELECT * FROM mytable WHERE 컬럼foo = ?");
st.setInt(1, foovalue);
ResultSet rs = st.executeQuery();
동안(rs.next())
System.out.print("열 1이 반환되었습니다. ");
System.out.println(rs.getString(1));
기본적으로 드라이버는 쿼리에 대한 모든 결과를 수집합니다.
즉시. 이는 대규모 데이터 세트의 경우 불편할 수 있으므로
JDBC 드라이버는 다음을 기반으로 하는 수단을 제공합니다.ResultSet데이터베이스 커서에서만
적은 수의 행을 가져오는 중입니다.
소수의 행이 클라이언트측에 캐시되어 있습니다. 연결되고 소진되면 다음 행 블록이 커서 위치를 변경하여 검색합니다.
성명서또는준비된 진술인터페이스다음을 사용할 때 다음 사항을 고려해야 합니다.성명또는PreparedStatement인터페이스:
단일을 사용할 수 있습니다.성명인스턴스 횟수만큼
원한다. 앱을 열자마자 만들 수 있습니다.
연결하고 연결 수명 동안 이를 사용합니다. 하지만
그거 하나만 기억하면 돼.결과세트존재 가능성명또는PreparedStatement특정 시간에.
다음을 처리하는 동안 쿼리를 수행해야 하는 경우결과세트, 간단하게 할 수 있습니다
다른 생성 및 사용성명.
당신이 스레드를 사용하고 있고 여러 사람이 스레드를 사용하고 있다면
데이터베이스인 경우 별도의 데이터베이스를 사용해야 합니다.성명각 스레드에 대해. 참조토토 사이트 추천 : 문서 : 7.4 : 멀티 스레드 또는 서블릿 환경에서 드라이버 사용당신이 그렇다면
스레드를 사용할 생각은 몇 가지 중요한 사항을 다루기 때문입니다.
포인트.
사용을 마치면성명서또는PreparedStatement문을 닫아야 합니다
그것.
결과세트인터페이스다음을 사용할 때 다음 사항을 고려해야 합니다.결과세트인터페이스:
값을 읽기 전에 호출해야 합니다.다음(). 다음이 있는 경우 true를 반환합니다.
하지만 더 중요한 것은 행을 준비한다는 것입니다.
처리 중입니다.
아래JDBC사양에서는 필드에 한 번만 액세스해야 합니다. 그것은 이 규칙을 따르는 것이 가장 안전하지만 현재로서는PostgreSQL운전자가 할 것이다 원하는 만큼 필드에 액세스할 수 있습니다.
다음을 닫아야 합니다.결과세트전화로닫기()사용을 마치면
그것.
다음으로 다른 쿼리를 작성하면성명만드는 데 사용됨결과세트현재 열려 있는 곳결과세트인스턴스가 닫혔습니다.
자동으로.