본문 바로가기
  • SDXL 1.0 + 한복 LoRA
  • SDXL 1.0 + 한복 LoRA
Development/JAVA

[디비 파기 | PMD] CheckResultSet

by 마즈다 2016. 2. 28.
반응형

CheckResultSet

우선순위 : 3

Database 사용과 관련하여 ResultSet클래스의 탐색 메소드(next, previous, first, last)를 사용하는 경우

반드시 그 리턴 값을 확인하여야 한다. 만일 이 메소드들이 false를 리턴하는 경우 적절한 처리를 해주어야 한다.


샘플 코드1


샘플 코드2


부연설명

next, previous, first, last는 모두 ResultSet의 cursor를 이동하는 메소드들로 return 값으로 boolean형을 사용한다.

각각의 함수들은 이동한 위치에 정상적인 data row가 있는 경우에는 true를 return하지만 그렇지 않은 경우에는 false를 retur한다.

 

first나 last가 false를 return하는 경우는 대체로 레코드가 하나도 없는 경우이고

next나 previous는 진행 방향으로는 더이상 데이터가 없는 경우에도 false가 return된다.

 

next

ResultSet의 cursor는 초기화 시에 첫 번째 레코드 앞에 위치해있기 때문에 처음 next를 호출하면 첫번째 레코드로 이동한다.

next 메소드를 호출했는데 false가 리턴되는 경우에는 cursor가 마지막 레코드 다음에 위치한 경우이다.

이 상태에서 ResultSet의 어떤 메소드든 호출을 하게 되면 SQLException이 발생을 하게 된다.

 

previous

cursor를 이전 레코드로 옮기며 cursor가 첫 번째 레코드 전에 위치하게 되면 false를 return한다.

이 상태에서 ResultSet의 어떤 메소드든 호출을 하게 되면 SQLException이 발생을 하게 된다.

result set type이 TYPE_FORWARD_ONLY인 경우 이 메소드를 호출하면 SQLException이 발생한다.

 

더 상세한 내용은 JAVA API 문서 참조하세요~

반응형