PreparedStatement
PreparedStatement (사전 컴파일된 문장)
사전 컴파일된 SQL 문을 나타내는 객체입니다. SQL 문은 미리 컴파일되어 PreparedStatement 객체에 저장되며, 이 객체를 사용해 이 문을 여러 번 효율적으로 실행할 수 있어요.
본문
IN 매개변수 값을 설정하는 setter 메서드(setShort, setString 등)는 입력 매개변수의 정의된 SQL 타입과 호환되는 타입을 지정해야 합니다. 예를 들어 IN 매개변수가 INTEGER SQL 타입이면 setInt 메서드를 사용해야 해요. 임의의 매개변수 타입 변환이 필요하면 setObject 메서드를 대상 SQL 타입과 함께 사용합니다.
매개변수 설정 예제입니다(con은 활성 연결).
BigDecimal sal = new BigDecimal("153833.00");
PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES SET SALARY = ? WHERE ID = ?");
pstmt.setBigDecimal(1, sal);
pstmt.setInt(2, 110592);
이 인터페이스는 Statement에서 상속된 메서드를 강화해 매개변수화된 SQL 문을 실행하며, 일괄 갱신을 위한 addBatch와 대량 갱신을 위한 executeLargeUpdate를 제공합니다.
대표적인 메서드
ResultSet executeQuery() throws SQLException
int executeUpdate() throws SQLException
boolean execute() throws SQLException
void setInt(int parameterIndex, int x) throws SQLException
void setString(int parameterIndex, String x) throws SQLException
void setObject(int parameterIndex, Object x) throws SQLException
ParameterMetaData getParameterMetaData() throws SQLException
ResultSetMetaData getMetaData() throws SQLException