티스토리 뷰
PreparedStatement와 Statement JDBC를 사용한다면 PreparedStatement(이하 pstmt)와 Statement(stmt)를 사용하게 될것이다. 우선 두 객체를 사용하여 Result를 가져오는 방법이다. 소스보기 Connection conn = getConnection();
String query = null; query = "SELECT * FROM USER WHERE USERID=?"; query = "SELECT * FROM USER WHERE USERID='" + userId + "'"; 위의 두 코드는 userId가 admin 정보를 가져오는 것이다. 소스 보기 코드1.
query = "SELECT * FROM USER WHERE USERID=?"; PreparedStatement pStmt = conn.prepareStatement(query); for(int i=0; i<cnt; i++) { pStmt.setString(1, userId[i]); ResultSet rs = pStmt.executeQuery(); } 코드2. for(int i=0; i<cnt; i++) { query = "SELECT * FROM USER WHERE USERID='" + userId[i] + "'"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(query); }
하지만 PreparedStatement는 분명 Statement 인터페이스를 구현하고 있으면서 또 다른 기능을 포함하고 있다. 그렇다면 Statement와 PreparedStatement 속도는 어느정도 차이가 날까? 어떤 클래스를 사용하는것은 개발자의 몫이다. 하지만 그 차이점을 알고 사용한다면 조금이나마 더 나은 결과를 나을것이다. |