PreparedStatement는 Statement를 상속하고 있는 Interface다.

PreparedStatement 객체는 Connection 객체의 preparedStatement()메소드를 사용해서 생성한다.
PreraredStatement pstmt = connetion.prepareStatement(sql);
//Statement.RETURN_GENERATED_KEYS 플래그를 설정하여 자동 생성된 키를 가져도록 할 수도 있다.
PreraredStatement pstmt= connection.prepareStatement("insert into dept values(?,?,?)", Statement.RETURN_GENERATED_KEYS);
// ? 있는 값에 대해서 값을 대입시킬 수 있다.
//pstmt.setObject(index,parameter)
pstmt.setInt(1,deptno);
pstmt.setString(2,name);
pstmt.setString(3,dd);
pstmt.executeUpdate(); // 쿼리 실행
쿼리 실행 순서
- 쿼리 문장 분석
- 컴파일
- 실행
statement : 매번 쿼리를 수행할 때마다 1~3단계를 거친다.
PreparedStatement : 처음 한 번만 3단계를 거친 후 캐시에 담아 재 사용한다.