ResultSet

ResultSet (결과 집합)

데이터베이스 결과 집합을 나타내는 데이터 테이블로, 보통 데이터베이스를 질의하는 문을 실행해 생성됩니다. ResultSet 객체는 현재 데이터 행을 가리키는 커서를 유지하며, 처음에 커서는 첫 행 앞에 위치합니다.

출처: Java API Reference

본문

next 메서드는 커서를 다음 행으로 이동시키고, ResultSet에 더 이상 행이 없으면 false를 반환하므로 while 루프에서 결과 집합을 반복할 수 있어요.

기본 ResultSet 객체는 갱신할 수 없고 커서가 앞으로만 이동합니다. 따라서 한 번만, 첫 행에서 마지막 행 방향으로만 반복할 수 있어요. 스크롤 및/또는 갱신 가능한 ResultSet 객체를 만드는 것도 가능합니다.

Statement stmt = con.createStatement(
    ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_UPDATABLE);
ResultSet rs = stmt.executeQuery("SELECT a, b FROM TABLE2");

ResultSet 인터페이스는 현재 행에서 열 값을 가져오는 getter 메서드(getBoolean, getLong 등)를 제공합니다. 값은 열의 인덱스 번호나 열 이름으로 가져올 수 있으며 일반적으로 열 인덱스를 사용하는 것이 더 효율적입니다. 열은 1부터 번호가 매겨집니다. getter 메서드에 대해 JDBC 드라이버는 기본 데이터를 getter 메서드에 지정된 Java 타입으로 변환하려 시도합니다.

대표적인 메서드

boolean next() throws SQLException
boolean getBoolean(int columnIndex) throws SQLException
String getString(int columnIndex) throws SQLException
Object getObject(int columnIndex) throws SQLException
int getInt(String columnLabel) throws SQLException
void close() throws SQLException
boolean isClosed() throws SQLException
ResultSetMetaData getMetaData() throws SQLException
int findColumn(String columnLabel) throws SQLException

더 알아보기 (Learn more)

Java 공식 API