Statement
1. Statement
DBMS에 전달할 SQL 문장을 저장하는 객체.
간단한 SQL문 실행에 적합하다
DBMS서버에 SQL문 전송시 매번 새로운 SQL문을 파싱하여 전달하게 된다
파싱 : SQL 문자열을 DBMS가 해석할수 있는 언어로의 변환과정
동일한 SQL문을 재 실행할 때도 매번 파싱이 이루어지는 것
SQL Injection에 취약하다
2. PreparedStatement
미리 SQL문을 준비(Prepared)해두는 객체
SQL문 실행전에 SQL문을 파싱해두고, 재사용이 가능하게 한다
SQL Injection을 방지할 수 있다.
?를 통해 sql 실행에 필요한 파라미터를 바인딩 할 수 있다.
3. CallableStatement
DB에 저장된 프로시저 및 함수를 호출할 때 사용한다
복잡한 서버 비지니스 로직을 DB내에서 실핼할 수 있다.
SQL내부 저장 프로시저를 통해 DB작업을 분리할 수 있다.
Last updated