본문 바로가기

IT노트(구)/Java

ResultSet에서 row count 추출하는 방법

ResultSet에서 row count를 추출하려면 어떻게 해야할까?

일단 row count를 직접적으로 리턴해주는 API는 없다.(왠지 있을 것 같지만 이상하게도 없다!)


왜냐하면 ResultSet은 기본적으로 Streaming API이기 때문이다.(최초에 모든 row를 한꺼번에 가져오는 구조가 아니라 while문을 돌면서 하나씩 가져오는 형태)


하지만 다음과 같이 처리하면 심플하게 전체 row count를 추출할 수 있다!



ResultSet rs;

...
rs.last(); // 마지막 row로 간다.
int total = rs.getRow(); // row count를 추출한다.
rs.beforeFirst(); // 처음 row로 다시 돌아온다.(초기 상태로 돌려놓음)