元数据:描述数据的数据
三类:数据库元数据、参数元数据、结果集元数据
- 数据库元数据 DataBaseMetaData
数据库元数据包括 数据库名 数据库版本信息 驱动名 url 用户名
只要记住 Connection ->databasemetadata->. 数据库元数据的获取方法即可
Connection conn= getdatasourceClass.getdatasourceFunction().getConnection();
DatabaseMetaData dbmetadata =conn.getMetaData();
String dbname=dbmetadata.getDatabaseProductName();//返回数据库名
System.out.println(dbname);
String username=dbmetadata.getUserName();//获取用户名
System.out.println(username);
String dbversion=dbmetadata.getDatabaseProductVersion();//获取数据库的版本信息
System.out.println(dbversion);
String drivername=dbmetadata.getDriverName();//获取驱动名称
System.out.println(drivername);
指定表的主键信息getprimarykeys()
ResultSet rs=dbmetadata.getPrimaryKeys(null,username,"STUDENT_INFO");//第一个参数为类别信息,通常为null 第二个如果是oracle数据库,大写的用户名,第三个是大写的表名
while (rs.next())
{
Object tablename=rs.getObject(1);//表类别
Object tablename=rs.getObject(2);//表模式
Object tablename=rs.getObject(3);//表名称
Object columnname=rs.getObject(4);//主键名称
Object columnname=rs.getObject(5);//主键的序列号
Object columnname=rs.getObject(6);//主键的约束名称
}
- 参数元数据
Connection conn= getdatasourceClass.getdatasourceFunction().getConnection();
PreparedStatement pstat=conn.prepareStatement("select * from student_info where id>?",0);
ParameterMetaData prematacount= pstat.getParameterMetaData();
int count=prematacount.getParameterCount();
System.out.println(count);
只要记住 connection-》 Pstat-》 parameterMeatadata-》.的获取方法即可
- 结果集元数据 resultsetmeatadta
只要记住Resultset->resultsetmetadata
Connection conn= getdatasourceClass.getdatasourceFunction().getConnection();
PreparedStatement pstat=conn.prepareStatement("select * from student_info ");
ResultSet rs= pstat.executeQuery();
ResultSetMetaData data= rs.getMetaData();
System.out.println(data.getColumnCount());//返回结果集有几列(有几个属性)
System.out.println(data.getColumnName (i));//返回结果集第i列的名称
System.out.println(data.getColumnTypeName (i));//返回结果集第i列的类型