Java, mariadb 환경에서 SQL를 수행하여 특정 컬럼 리턴 여부 검사하는 자바 소스
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;
}
}