元数据:
- java通过JDBC获得连接以后,得到一个Connection对象,可以从这个对象获得有关数据库管理系统的各种信息,包括数据库中的各个表,表中的各个列,数据类型,触发器,存储过程等各方面的信息。根据这些信息,JDBC可以访问一个事先并不了解的数据库。
- 获取这些信息的方法都是在DatabaseMetaData类的对象上实现的,而DataBaseMetaData对象实在Connection对象上获得的。
DatabaseMetaData类:
- DatabaseMetaData类中提供了许多方法用于获得数据源的各种信息,通过这些方法可以详细的了解数据库的信息:
getURL():代表数据库的URL,返回一个String类对象
getUserName():返回用户名
isReadOnly():返回一个布尔值,是否只许读操作
getDatabaseProductName():产品名称
getDatabaseProductVersion():数据库的版本号
getDriverName():驱动名称
getDriverVersion():驱动版本号
ResultSetMetaData类:获取关于ResultSet对象中列的类型和属性信息的对象
getColumnName(int column):获取指定列的名称
getColumnCount():返回当前对象的列数
getColumnTypeName(int column):检索指定列的数据库特定的类型名称
isNullable(int column):指示指定列的值是否为空
isAutoIncrement(int column):指示是否自动为指定列进行编号,这样这些列仍然是只读的。
public void testBeautils(){
//1.得到ResultSetMetaData对象
ResultSetMetaData rsmd=resultSet.getMetaData();
//2.得到列的个数
int columnCount = rsmd.getColumnCount();
System.out.println(columnCount);
for (int i=0;i<columnCount;i++){
//3.得到列名
String columnName = rsmd.getColumnName(i+1);
System.out.println(columnName);
//4.得到列的别名
String columnLabel = rsmd.getColumnLabel(i+1);
System.out.println(columnLabel);
}
}