JDBC元数据-ResultSetMetaData

1 ResultSetMetaData接口介绍

MetaData称为元数据,MetaData就是我们可以从数据中获取更多信息。

如果希望获取表的元数据(例如:列总数,列名称,列类型等),则ResultSetMetaData接口非常有用,因为它提供了从ResultSet对象获取元数据的方法。

2 ResultSetMetaData接口方法

方法 说明
public int getColumnCount()throws SQLException 返回ResultSet对象中的列总数
public String getColumnName(int index)throws SQLException 返回指定列索引的列名
public String getColumnTypeName(int index)throws SQLException 返回指定索引的列类型名称
public String getTableName(int index)throws SQLException 返回指定列索引的表名

3 获取ResultSetMetaData对象

ResultSet接口的getMetaData() 方法返回ResultSetMetaData的对象。语法为:

public ResultSetMetaData getMetaData()throws SQLException

4 ResultSetMetaData接口示例

4.1 编写示例类

ResultSetMetaDataDemo:

package com.yiidian;

import java.sql.*;

/**
 * 一点教程网 - http://www.yiidian.com
 */
public class ResultSetMetaDataDemo {
    public static void main(String args[])throws Exception {
        try{
            Class.forName("com.mysql.jdbc.Driver");
            Connection con= DriverManager.getConnection(
                    "jdbc:mysql://localhost:3306/test","root","root");

            PreparedStatement ps=con.prepareStatement("select * from t_user");

            ResultSet rs=ps.executeQuery();
            ResultSetMetaData rsmd=rs.getMetaData();

            System.out.println("总列数: "+rsmd.getColumnCount());
            System.out.println("第一列的列名: "+rsmd.getColumnName(1));
            System.out.println("第一列的类型: "+rsmd.getColumnTypeName(1));

            con.close();
        }catch(Exception e){
            System.out.println(e);
        }

    }
}

4.2 运行测试

推荐好课