If you have to get metadata of a table like total number of column, column name, column type etc. , ResultSetMetaData interface is useful because it provides methods to get metadata from the ResultSet object.
Commonly used methods of ResultSetMetaData interface :
------------------------------------------------------------------------------
- public int getColumnCount()throws SQLException: it returns the total number of columns in the ResultSet object.
- public String getColumnName(int index)throws SQLException: it returns the column name of the specified column index.
- public String getColumnTypeName(int index)throws SQLException: it returns the column type name for the specified index.
- public String getTableName(int index)throws SQLException: it returns the table name for the specified column index.
How to get the object of ResultSetMetaData:
-------------------------------------------------------------
The getMetaData() method of ResultSet interface returns the object of ResultSetMetaData.
Syntax:
---------------
public ResultSetMetaData getMetaData()throws SQLException
************************* Example of ResultSetMetaData interface **************************
import java.sql.*;
class Rsmd{
public static void main(String args[]){
try{
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con=DriverManager.getConnection(
"jdbc:oracle:thin:@localhost:1521:xe","system","oracle");
PreparedStatement ps=con.prepareStatement("select * from emp");
ResultSet rs=ps.executeQuery();
ResultSetMetaData rsmd=rs.getMetaData();
System.out.println("Total columns: "+rsmd.getColumnCount());
System.out.println("Column Name of 1st column: "+rsmd.getColumnName(1));
System.out.println("Column Type Name of 1st column: "+rsmd.getColumnTypeName(1));
con.close();
}catch(Exception e){ System.out.println(e);}
}
}
================================ Output ==================================
Total columns: 2
Column Name of 1st column: ID
Column Type Name of 1st column: NUMBER