라벨이 JDBC인 게시물 표시

[JDBC] 쿼리 후에 ResultSet 에 데이터가 있는지 확인하는 방법

외부 DB와 연동하는 코드에서 ResultSet에 데이터가 있는지 여부 아래와 같이 확인하였다. ResultSet rs = null; if(rs.next()){     rs.previous()     //조회 된 데이터를 DB에 저장 } MySQL에서 데이터를 불러올 때는 문제가 없었지만 MSSQL에서 커서는 전방향 전용 결과 집합에 부적합한 작업이 수행되었습니다.  라는   에러가 발생하였다. 이는 ResultSet 기본설정이 TYPE_FORWARD_ONLY 로 되어있기 때문이다. 아래와 같이 상수 두개를 선언해 주어 에러가 발생하지 않도록 조치하였다. 조치 방법은 2가지 이다. 1. 기본설정 변경 PreparedStatement pstmt = dbConnFactory.getConnection().prepareStatement(connectorManager.getCollectorConfig().getQuery(), ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); 2. 메서드 사용 rs.isBeforeFirst();  조회 된 데이터가 없으면 false 를 반환한다.