数据库元数据

元数据:描述数据的数据

三类:数据库元数据、参数元数据、结果集元数据

  1. 数据库元数据  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);//主键的约束名称
}
  1. 参数元数据
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-》.的获取方法即可

  1. 结果集元数据 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列的类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值