결과 집합에서 열 이름을 얻으려면 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
다음은 샘플 출력의 스냅샷입니다. -