Java는 널리 사용되는 프로그래밍 언어입니다. 웹 애플리케이션을 개발할 때 데이터를 처리하기 위해 MySQL 저장 프로시저를 호출해야 하는 경우가 많습니다. 이 기사에서는 Java 프로그램에서 MySQL 저장 프로시저를 호출하는 방법을 자세히 소개합니다.
1. MySQL 저장 프로시저
MySQL 저장 프로시저는 복잡한 SQL 쿼리와 데이터 작업을 캡슐화하고 필요할 때 호출할 수 있는 SQL 코드 모음입니다. 저장 프로시저는 일반적으로 일반 SQL 문보다 빠르게 실행됩니다.
MySQL 저장 프로시저는 MySQL 클라이언트 또는 MySQL Workbench와 같은 관리 도구를 통해 생성할 수 있습니다. 저장 프로시저를 생성하는 방법은 SQL 문을 작성하는 것과 유사하지만 DELIMITER 명령을 사용하여 종결자를 지정해야 합니다. 예를 들어 다음 코드는 간단한 저장 프로시저를 만듭니다.
DELIMITER // CREATE PROCEDURE GetProductList() BEGIN SELECT * FROM products; END // DELIMITER ;
위 코드에서 DELIMITER는 끝 문자를 "//"로 지정하고 저장 프로시저 이름은 GetProductList이며 SELECT 문은 "products" 테이블에서 모든 데이터를 가져옵니다. ".
2. Java에서 MySQL 저장 프로시저 호출
MySQL 저장 프로시저 호출은 일반 SQL 문 호출과 유사하며 Java JDBC API를 사용해야 합니다. 다음은 JDBC API를 사용하여 MySQL 저장 프로시저를 호출하는 몇 가지 기본 단계입니다.
Java 프로그램에서 JDBC API를 사용하는 경우 MySQL JDBC 드라이버를 먼저 로드해야 합니다. Class.forName() 메서드를 사용하여 드라이버를 로드하거나 JDBC 드라이버 jar 패키지를 통해 드라이버를 등록할 수 있습니다. 예:
Class.forName("com.mysql.cj.jdbc.Driver");
데이터베이스 연결을 설정하려면 서버 주소, 데이터베이스 이름, 사용자 이름 및 비밀번호와 같은 정보를 지정해야 합니다. DriverManager 클래스의 getConnection() 메소드를 통해 데이터베이스 연결을 설정할 수 있습니다. 예:
String url = "jdbc:mysql://localhost:3306/mydb"; String user = "myuser"; String password = "mypassword"; Connection conn = DriverManager.getConnection(url, user, password);
MySQL 저장 프로시저를 호출하려면 CallableStatement 객체를 사용해야 하며, 이 객체는 다음을 통해 생성될 수 있습니다. Connection.prepareCall() 메서드. 예:
String call = "{call GetProductList()}"; CallableStatement stmt = conn.prepareCall(call);
저장 프로시저 이름은 중괄호 "{}"로 묶고 "{call}" 접두사를 붙여야 합니다.
MySQL 저장 프로시저를 호출하기 전에 입력 및 출력 매개변수(있는 경우)를 설정해야 합니다. 입력 매개변수는 setXXX() 메소드를 사용하여 설정하고, 출력 매개변수는 프로시저 호출 후 RegisterOutParameter() 메소드를 사용하여 등록합니다. 저장 프로시저를 실행하려면 CallableStatement.execute() 또는 CallableStatement.executeQuery() 메서드를 사용하십시오. 예:
ResultSet rs = stmt.executeQuery(); while (rs.next()) { // 处理查询结果 }
데이터베이스 연결과 CallableStatement 개체를 사용한 후에는 리소스 낭비와 메모리 누수를 방지하기 위해 연결을 닫고 적시에 리소스를 해제해야 합니다.
Java에서 MySQL 저장 프로시저를 호출하는 전체 코드 예제는 다음과 같습니다.
import java.sql.*; public class CallStoredProcedure { public static void main(String[] args) { try { Class.forName("com.mysql.cj.jdbc.Driver"); String url = "jdbc:mysql://localhost:3306/mydb"; String user = "myuser"; String password = "mypassword"; Connection conn = DriverManager.getConnection(url, user, password); String call = "{call GetProductList()}"; CallableStatement stmt = conn.prepareCall(call); ResultSet rs = stmt.executeQuery(); while (rs.next()) { // 处理查询结果 } rs.close(); stmt.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); } } }
3. 요약
이 기사의 소개를 통해 독자는 Java 프로그램에서 MySQL 저장 프로시저를 호출하기 위한 기본 단계와 주의 사항을 배울 수 있습니다. 저장 프로시저를 사용하면 SQL 실행 효율성과 데이터 처리 성능을 향상시킬 수 있으며 복잡한 웹 애플리케이션 개발에 있어 실질적인 가치가 매우 높습니다.
위 내용은 Java 프로그램에서 MySQL 저장 프로시저를 호출하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!