본문 바로가기

Developer/Java-jdbc

#004. Statement / PreparedStatement / ResultSet 알아보기...

#004. Statement / PreparedStatement / ResultSet 알아보기...

 

1. Statement / PreparedStatement / ResultSet 비교해서 알아보자.

Statement

1. 보안이 취약하고, SQL Inject 공격이 가능합니다. (사용안함)

2. 오라클 옵티마이저가 파싱하고, 실행계획 세우고, 실행을 한다.

(쿼리가 항상 다르게 인식이 됨)

-execute: S, I, U D (return int 행의 개수 반환)

-executeUpdate: I, U D, DDL (return int 행의 개수 반환)

-executeQuery: S

-executeBatch: batch

PreparedStatement

1. 쿼리와 값(파라메터)을 따로 보낸다.

2. 쿼리의 실행계획을 한번만 세우게 된다.

-메서드는 Statement 와 동일

ResultSet

1. 쿼리한 테이블을 결과값을 반환함.

2. 커서(cursor)가 위치함

-next(): 다음 위치를 가르키고, 데이터가 존재하면 true, 없다면 false 반환

-getxxx(): 데이터를 추출하기, (컬럼명 or 인덱스)

Ex) getInt("ID"); getString(2); .....

 

2. 아래의 이미지는 java api 의 내용이다. (참고)

1) Statement

 

2) PreparedStatement

 

3) ResultSet

 

내용이 참 간단하다..^^; 이론적인 설명 참 지루하다.

다음 시간엔 실습으로 확인해보자.

 

잡담. 오늘도 수고하셨습니다. 파이팅 Korea ^^"