JDBC中元数据(ResultSetMetaData元数据-简单介绍):
ResultSet 是关于某个表的信息或一个查询的结果。您必须逐行访问数据行,但是您可以任何顺序访问列。
ResultSetMetaData是可以获取ResultSet对象的列类型及名称和属性信息的对象
使用ResultSet 的 getMetaData() 方法从 ResultSet 中获取 ResultSetMetaData 对象。从此对象获得列的数目和类型以及每一列的名称。
getColumnCount(); 返回 ResultSet 中的列数。
getColumnName(int); 返回列序号为 int 的列名。
getColumnType(int); 返回此列的 SQL 数据类型。【java.sql.Types中有定义】等等
下面通过简单实例演示如何使用:
public class TestDay03 {
/**
* ResultSetMataData(了解)
*/
@Test
public void test1() {
Connection conn = null;
try {
conn = DBUtil.getConnection();
String sql = "select * from emp ";
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
// 获取结果集元数据
ResultSetMetaData rsmd = rs.getMetaData();
// 元数据中存储了描述该结果集的信息
System.out.println(rsmd.getColumnCount());// 字段数
System.out.println(rsmd.getColumnName(1));// 字段名称
System.out.println(rsmd.getColumnClassName(1));// 对应的java中的类
int cols = rsmd.getColumnCount();
String resultRow = "";
for (int i = 1; i < cols; i++) {
resultRow += rsmd.getColumnName(i) + ";";
}
System.out.println(resultRow);
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("程序员工失败!", e);
} finally {
DBUtil.close(conn);
}
}
}