PreparedStatement는 SQL 쿼리를 미리 컴파일하여 효율적으로 실행할 수 있도록 하는 기능입니다. 매개변수를 나타내는 자리 표시자를 사용하여 SQL 주입을 방지하여 보안을 강화합니다.
String SQL = "INSERT INTO {table} ({field}, {field}) VALUES (?, ?)";
pstmt = con.prepareStatement(SQL);
pstmt.setInt(1, {int_value});
pstmt.setString(2, {String_value});
rs = pstmt.execute();
메소드 명 | 반환타입 | 설명 |
---|---|---|
prepareStatement(String sql) | PreparedStatement | 쿼리 문자열을 받아 PreparedStatement 객체를 생성합니다. |
setXXX(int parameterIndex, XXX value) | void | 쿼리 내의 placeholder(물음표) 위치(index)와 해당하는 값을 설정합니다. (XXX는 데이터 타입에 따라 달라집니다.) |
addBatch() | void | PreparedStatement 객체에 실행할 쿼리 목록을 추가합니다. 이후 executeBatch() 메소드를 호출하여 한꺼번에 실행할 수 있습니다. |
executeQuery() | ResultSet | 쿼리를 실행하고 결과를 ResultSet 객체로 반환합니다. SELECT 쿼리에 사용됩니다. |
executeUpdate() | int | 쿼리를 실행하고 영향받은 행의 개수를 반환합니다. INSERT, UPDATE, DELETE 쿼리에 사용됩니다. |
executeBatch() | int[] | PreparedStatement 객체에 추가된 여러 개의 쿼리를 한꺼번에 실행합니다. 주로 다량의 데이터 삽입, 업데이트, 삭제 작업 시 성능 향상을 위해 사용됩니다. |
getResultSet() | ResultSet | 쿼리 실행 후 결과를 ResultSet 객체로 반환합니다. |
getUpdateCount() | int | 쿼리 실행 후 영향받은 행의 개수를 반환합니다. |
clearParameters() | void | 설정된 모든 파라미터 값을 초기화합니다. |
close() | void | PreparedStatement 객체를 닫고 자원을 해제합니다. |