JDBC를 사용하여 단일 문에서 여러 쿼리
JDBC를 사용하면 단일 작업에서 여러 SQL 문을 실행할 수 있습니다. 이는 여러 개의 독립적인 작업을 수행하거나 단일 트랜잭션 내에서 여러 테이블을 업데이트해야 하는 상황에서 유용할 수 있습니다.
예제 코드:
다음 샘플 코드를 고려하세요. 이는 언급한 MySQL 쿼리의 동작을 에뮬레이션합니다.
String sqlQuery = "SELECT * FROM TABLE; INSERT INTO TABLE;"; Statement statement = connection.createStatement(); statement.execute(sqlQuery);
방법 1: 연결 속성
단일 문에서 여러 쿼리를 실행할 수 있도록 하려면 AllowMultiQueries 연결 속성을 true로 설정하면 됩니다. 이는 세미콜론으로 구분된 여러 쿼리의 실행을 허용하도록 JDBC 드라이버에 지시합니다.
String url = "jdbc:mysql://localhost:3306/databaseinjection?allowMultiQueries=true"; Connection connection = DriverManager.getConnection(url, sqlUsername, sqlPassword);
방법 2: 저장 프로시저
또는 저장 프로시저를 생성할 수 있습니다. 여러 쿼리를 캡슐화하는 데이터베이스에 있습니다. 그런 다음 CallableStatement를 사용하여 Java에서 저장 프로시저를 호출합니다. 이를 통해 프로시저에서 반환된 여러 ResultSet 객체를 캡처할 수 있습니다.
// Create a stored procedure String storedProcedure = "CREATE PROCEDURE multi_query() BEGIN SELECT * FROM TABLE; INSERT INTO TABLE; END;"; // Call the stored procedure CallableStatement cstmt = connection.prepareCall("{call multi_query()}"); cstmt.execute(); // Retrieve result sets while (cstmt.getMoreResults()) { ResultSet resultSet = cstmt.getResultSet(); // Handle the result set here }
다중 쿼리의 이점:
참고:
위 내용은 단일 JDBC 문에서 여러 SQL 문을 어떻게 실행할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!