ResultSetMetaData का उपयोग करके कॉलम मेटाडेटा प्राप्त करना
इसके लिए ResultSetMetaData का उपयोग करें। पहले एक टेबल बनाते हैं:
mysql> CREATE TABLE DemoTable (
StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentFirstName VARCHAR(20),
StudentLastName VARCHAR(20)
);
Query OK, 0 rows affected (0.58 sec)
Java कोड उदाहरण
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import com.mysql.jdbc.ResultSetMetaData;
public class ResultSetDemo {
public static void main(String[] args) {
Connection con = null;
PreparedStatement ps = null;
Statement st = null;
ResultSet rs = null;
try {
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/web?useSSL=false", "root", "123456");
String query = "SELECT StudentId, StudentFirstName, StudentLastName FROM DemoTable";
st = con.createStatement();
rs = st.executeQuery(query);
ResultSetMetaData rsmd = (ResultSetMetaData) rs.getMetaData();
int numberOfColumn = rsmd.getColumnCount();
System.out.println("Number Of Columns: " + numberOfColumn);
System.out.println("All Details Of Columns:");
for (int i = 1; i <= numberOfColumn; i++) {
String columnName = rsmd.getColumnName(i);
String dataTypeOfColumn = rsmd.getColumnTypeName(i);
System.out.println(columnName + " has data type " + dataTypeOfColumn);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
आउटपुट
Number Of Columns: 3 All Details Of Columns: StudentId has data type INT StudentFirstName has data type VARCHAR StudentLastName has data type VARCHAR
मुख्य बिंदु:
rs.getMetaData()ResultSetMetaData ऑब्जेक्ट लौटाता है।getColumnCount()कॉलम की संख्या देता है।getColumnName(i)औरgetColumnTypeName(i)प्रत्येक कॉलम का नाम और डेटा प्रकार देते हैं।- कॉलम इंडेक्स 1 से शुरू होता है (0 से नहीं)।
