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로 다시 돌아온다.(초기 상태로 돌려놓음)
일단 row count를 직접적으로 리턴해주는 API는 없다.(왠지 있을 것 같지만 이상하게도 없다!)
왜냐하면 ResultSet은 기본적으로 Streaming API이기 때문이다.(최초에 모든 row를 한꺼번에 가져오는 구조가 아니라 while문을 돌면서 하나씩 가져오는 형태)
하지만 다음과 같이 처리하면 심플하게 전체 row count를 추출할 수 있다!
ResultSet rs;
...
rs.last(); // 마지막 row로 간다.
int total = rs.getRow(); // row count를 추출한다.
rs.beforeFirst(); // 처음 row로 다시 돌아온다.(초기 상태로 돌려놓음)
'IT노트(구) > Java' 카테고리의 다른 글
conn.commit()과 conn.rollback()을 사용하려면 conn.setAutoCommit(false) 설정이 필요 (0) | 2015.11.03 |
---|---|
오직 컨트롤러(Controller)를 통해서만 jsp 파일에 접근할 수 있도록 하자! (0) | 2015.11.01 |
jsp 내장 객체 종류(이름이 중복되지 않도록 주의한다!) (0) | 2015.10.27 |
SimpleDateFormat은 thread-safe하지 않다! (0) | 2015.10.25 |
org.hibernate.LazyInitializationException: could not initialize proxy - no Session 에러가 날 때 (0) | 2015.10.16 |