728x90
PreparedStatement VS, Statement
1. Statement
DB를 연결하기 위한 일반적인 목적으로 사용된다.
고정적인 쿼리를 실행할 때 유용하다.
매개변수를 받을 수 없다.
SQL문이 달라지더라도 한 개만 생성해서 재사용이 가능하다.
1 2 | Statement stmt = conn.createStatement(); // 생성 stmt.execute(sql); // 실행 | cs |
2. PreparedStatement
쿼리를 자주 사용할때 이용된다.
실행시간에 매개변수를 받을 수 있다.
statement에 비해 반복적인 SQl문을 사용할 경우에 더 빠르다.
DB컬럼타입과 상관없이 ? 하나로 표시하면되므로 개발자가 혼동하지 않고 사용가능하다.
SQL문마다 PreparedStatement객체를 각각 생성해야하기 때문에 재사용이 불가하다.
1 2 | PreparedStatement pstmt = conn.prepareStatement(sql); //생성 pstmt.execute(); //실행 | cs |
3. CallableStatement
저장프로시져에 접근하기를 원할 때 사용한다.
실행시간에 매개변수를 받을 수 있다.
*출처
http://www.tutorialspoint.com/jdbc/jdbc-statements.htm
http://cafe.naver.com/tanosimisekai/1043
http://blog.naver.com/PostView.nhn?blogId=pckjs&logNo=110011129460&redirect=Dlog&widgetTypeCall=true