결과 집합에서 열 이름을 얻으려면 getMetaData() 메서드를 사용해야 합니다. getMetadata()의 프로토타입은 다음과 같습니다 -
ResultSetMetaData getMetaData throws SQLException;
열 이름이 5개인 MySQL 테이블을 만듭니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -
mysql> create table javagetallcolumnnames -> ( -> Id int NOT NULL AUTO_INCREMENT, -> Name varchar(20), -> Age int, -> Salary float, -> Address varchar(100), -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (1.34 sec)
다음은 ResultSet에 컬럼명을 가져오는 자바 코드이다. 코드는 다음과 같습니다 -
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import com.mysql.jdbc.ResultSetMetaData;
public class GetAllColumnNames {
public static void main(String[] args) {
String JdbcURL="jdbc:mysql://localhost:3306/test?useSSL=false";
String Username="root";
String password="123456";
Connection con=null;
Statement stmt=null;
ResultSet rs;
try {
con = DriverManager.getConnection(JdbcURL, Username, password);
stmt=con.createStatement();
rs = stmt.executeQuery("SELECT *FROM javagetallcolumnnames");
ResultSetMetaData md = (ResultSetMetaData) rs.getMetaData();
int counter = md.getColumnCount();
String colName[] = new String[counter];
System.out.println("The column names are as follows:");
for (int loop = 1; loop <= counter; loop++) {
colName[loop-1] = md.getColumnLabel(loop);
System.out.println(colName[loop-1]);
}
} catch(Exception e) {
e.printStackTrace();
}
}
} 다음은 코드의 스냅샷입니다 -

다음은 출력입니다 -
The column names are as follows: Id Name Age Salary Address
다음은 샘플 출력의 스냅샷입니다. -
