*JDBC_Oracle*

[JDBC] PreparedStatement

깐부로부터 2021. 11. 25. 01:18

PreparedStatement 특징

 

SQL문을 바로 실행하지 않고 잠시 보관하는 개념

미완성된 SQL문을 먼저 전달하고 실행하기전에 완성 형태로 만든 후 실행만 하면 됨

미완성된 SQL문 만들기(사용자가 입력한 값들이 들어갈 수 있는 공간을 ?(위치홀더) 로 확보

각 위치홀더에 맞는 값들을 세팅

 

 

<Statement(부모)와 PreparedStatement(자식) 관계>

 

*차이점*


1) Statement완성된 SQL문, PreparedStatement미완성된 SQL문

 

2) Statement객체 생성시

   stmt = conn.createStatement();
    PreparedStatement객체 생성시

    pstmt = conn.prepareStatement(sql);

3) Statement로 SQL문 실행 시 결과 = stmt.executeXXXX(sql);
   PreparedStatement로 SQL문 실행 시 ?로 빈 공간을 실제 값으로 채워 준뒤 실행한다.
pstmt.setString(?위치, 실제값); // 컬럼값이 문자일때
pstmt.setInt(?위치, 실제값); // 컬럼값이 NUMBER일때
결과 = pstmt.executeXXXX();

 

'*JDBC_Oracle*' 카테고리의 다른 글

[JDBC] 싱글톤 패턴  (0) 2021.11.25
[JDBC] MVC  (0) 2021.11.23
[JDBC] JDBC  (0) 2021.11.22