Để lấy tên cột trên tập kết quả, bạn cần sử dụng phương thức getMetaData (). Nguyên mẫu của getMetadata () như sau -
ResultSetMetaData getMetaData throws SQLException;
Tạo một bảng MySQL với 5 tên cột. Truy vấn để tạo bảng như sau -
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)
Sau đây là mã Java lấy tên cột trên ResultSet. Mã như sau -
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(); } } }
Đây là ảnh chụp nhanh của mã -
Sau đây là kết quả -
The column names are as follows: Id Name Age Salary Address
Đây là ảnh chụp nhanh của đầu ra mẫu -