Package com.altibase.document.api
Interface FetchResult<T>
- Type Parameters:
T- 결과셋에 포함된 요소의 타입
- All Superinterfaces:
AutoCloseable,Iterable<T>,Iterator<T>
- All Known Subinterfaces:
DocResult
- All Known Implementing Classes:
DocResultImpl
데이터베이스 조회 결과를 표현하는 제네릭 인터페이스이다.
이 인터페이스는 Iterator, Iterable, AutoCloseable의 특징을 결합하여,
조회 결과를 다루는 다양한 편의 기능을 제공한다.
결과셋이 데이터베이스 커서(cursor)와 같은 리소스를 점유할 수 있으므로,
사용 후에는 반드시 close()를 호출해야 한다. 따라서 try-with-resources 구문 사용을 강력히 권장한다.
- Since:
- 1.0
-
Method Summary
Methods inherited from interface java.lang.Iterable
forEach, spliteratorMethods inherited from interface java.util.Iterator
forEachRemaining, hasNext, next, remove
-
Method Details
-
iterator
이 결과셋에 대한 반복자(Iterator)를 반환한다.이 메서드는
Iterable인터페이스를 구현하여 향상된 for-loop 구문을 지원하기 위해 존재한다. 주의: 기본 구현은fetchAll()을 호출하므로, 이 반복자를 사용하면 결과셋의 모든 데이터를 메모리로 로드한다. 매우 큰 결과셋을 다룰 때는 메모리 문제를 피하기 위해while (results.hasNext())패턴을 사용하는 것이 좋다. -
fetchAll
결과셋에 남아있는 모든 항목을List컬렉션으로 가져온다.이 메서드를 호출하면 내부 반복자(iterator)는 끝까지 소진된다. 결과셋이 크지 않아 전체를 메모리에 올려두고 작업하는 것이 편리할 때 사용한다.
- Returns:
- 결과셋의 모든 항목을 담은
List
-
count
long count()결과셋의 전체 항목 개수를 반환한다.이 메서드는 결과셋의 데이터를 소진시키지 않고 전체 크기만 반환해야 한다.
- Returns:
- 결과셋의 전체 항목 수
-
close
void close()이 결과셋과 관련된 모든 데이터베이스 리소스(예: ResultSet, Statement)를 해제한다.AutoCloseable인터페이스의 메서드이며,try-with-resources구문에 의해 자동으로 호출된다. 리소스 유출을 방지하기 위해 반드시 호출되어야 한다.- Specified by:
closein interfaceAutoCloseable
-