[java] Stored Procedure 호출 및 사용법

이번 포스트에서는 자바에서 SQL Server나 MySQL과 같은 데이터베이스 시스템에 저장 프로시저(Stored Procedure)를 호출하고 사용하는 방법에 대해 알아보겠습니다.

1. Stored Procedure 호출 방법

SQL Server에서의 호출

SQL Server에서는 CallableStatement를 사용하여 저장 프로시저를 호출할 수 있습니다. 아래는 예시 코드입니다.

try {
    Connection conn = DriverManager.getConnection(url, user, password);
    CallableStatement cst = conn.prepareCall("{call your_stored_procedure(?)}");
    cst.setString(1, "parameter_value");
    cst.execute();
    conn.close();
} catch (SQLException e) {
    e.printStackTrace();
}

MySQL에서의 호출

MySQL에서는 SQL Server와 유사하게 CallableStatement를 사용하여 저장 프로시저를 호출할 수 있습니다. 아래는 예시 코드입니다.

try {
    Connection conn = DriverManager.getConnection(url, user, password);
    CallableStatement cst = conn.prepareCall("{call your_stored_procedure(?)}");
    cst.setString(1, "parameter_value");
    cst.execute();
    conn.close();
} catch (SQLException e) {
    e.printStackTrace();
}

2. Stored Procedure 결과 사용 방법

SQL Server에서의 결과 사용

SQL Server에서는 CallableStatementregisterOutParameter 메서드를 사용하여 출력 매개변수를 등록하고 결과를 가져올 수 있습니다. 아래는 예시 코드입니다.

try {
    Connection conn = DriverManager.getConnection(url, user, password);
    CallableStatement cst = conn.prepareCall("{call your_stored_procedure(?, ?)}");
    cst.setString(1, "input_parameter");
    cst.registerOutParameter(2, Types.INTEGER);
    cst.execute();
    int result = cst.getInt(2);
    conn.close();
} catch (SQLException e) {
    e.printStackTrace();
}

MySQL에서의 결과 사용

MySQL에서는 SQL Server와 유사하게 CallableStatementregisterOutParameter 메서드를 사용하여 출력 매개변수를 등록하고 결과를 가져올 수 있습니다. 아래는 예시 코드입니다.

try {
    Connection conn = DriverManager.getConnection(url, user, password);
    CallableStatement cst = conn.prepareCall("{call your_stored_procedure(?, ?)}");
    cst.setString(1, "input_parameter");
    cst.registerOutParameter(2, Types.INTEGER);
    cst.execute();
    int result = cst.getInt(2);
    conn.close();
} catch (SQLException e) {
    e.printStackTrace();
}

저장 프로시저 호출과 결과 사용에 대한 간단한 예시를 살펴보았습니다. 데이터베이스 시스템에 따라 세부적인 차이가 있을 수 있으니 해당 시스템의 공식 문서를 참고하시기 바랍니다.

참고 문헌: