[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에서는 CallableStatement
의 registerOutParameter
메서드를 사용하여 출력 매개변수를 등록하고 결과를 가져올 수 있습니다. 아래는 예시 코드입니다.
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와 유사하게 CallableStatement
의 registerOutParameter
메서드를 사용하여 출력 매개변수를 등록하고 결과를 가져올 수 있습니다. 아래는 예시 코드입니다.
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();
}
저장 프로시저 호출과 결과 사용에 대한 간단한 예시를 살펴보았습니다. 데이터베이스 시스템에 따라 세부적인 차이가 있을 수 있으니 해당 시스템의 공식 문서를 참고하시기 바랍니다.
참고 문헌: