Updated:

less than 1 minute read

개요


Statement

  • 매번 모든 과정을 수행
  • SQL문 예제
    • INSERT INTO test(id, name) VALUES(1, 'a');
  • SQL injection과 같은 보안 문제 발생 가능


PreparedStatement

  • parse를 한번만 수행 후 두번째부터는 bind 부터 수행
  • SQL문 예제
    • INSERT INTO test(id, name) VALUES(?, ?);
  • bind 시에는 값을 쿼리로 판단하지 않으므로 SQL injection 방지
  • 동일한 SQL문을 반복해야하는 경우 parse를 한번만 수행하므로 성능 및 재사용성 증가