viw 게시된 글

import java.sql.*;

public class SqlResultValidator {

public static void main(String[] args) {
    String sql = "SELECT resultCode, resultMessage FROM your_table"; // 테스트용 SQL
    try (Connection conn = DriverManager.getConnection(
            "jdbc:mariadb://127.0.0.1:3306/your_database", "root", "9909");
         Statement stmt = conn.createStatement();
         ResultSet rs = stmt.executeQuery(sql)) {

        if (validateColumns(rs, "resultCode", "resultMessage")) {
            System.out.println("✅ SQL 실행 결과에 resultCode와 resultMessage 컬럼이 포함되어 있습니다.");
        } else {
            System.err.println("❌ SQL 실행 결과에 필수 컬럼(resultCode, resultMessage)이 포함되어 있지 않습니다.");
        }

    } catch (SQLException e) {
        System.err.println("SQL 실행 중 오류 발생: " + e.getMessage());
    }
}

private static boolean validateColumns(ResultSet rs, String... requiredColumns) throws SQLException {
    ResultSetMetaData metaData = rs.getMetaData();
    int columnCount = metaData.getColumnCount();
    for (String requiredColumn : requiredColumns) {
        boolean found = false;
        for (int i = 1; i <= columnCount; i++) {
            if (requiredColumn.equalsIgnoreCase(metaData.getColumnLabel(i))) {
                found = true;
                break;
            }
        }
        if (!found) return false;
    }
    return true;
}

}