元数据:描述数据的数据

摘要:
和名称=?

元数据:描述数据的数据
三类:
数据库元数据、参数元数据、结果集元数据
1.数据库元数据 DataBaseMetaData Connection->DataBaseMertaData->.

元数据:描述数据的数据第1张

元数据:描述数据的数据第2张


Class.forName(DRIVER);
Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
//数据库元信息
DatabaseMetaData dbMetaData = connection.getMetaData();
String dbName = dbMetaData.getDatabaseProductName();
System.out.println("数据库名"+dbName);
String dbversion = dbMetaData.getDatabaseProductVersion();
System.out.println("数据库版本"+dbversion);
String driverName = dbMetaData.getDriverName();
System.out.println("数据库驱动名"+driverName);
String url = dbMetaData.getURL();
System.out.println(url);
String userName = dbMetaData.getUserName();
System.out.println(userName);
System.out.println("---------------");
ResultSet rs = dbMetaData.getPrimaryKeys(null, userName, "STUDENT");
while (rs.next()){
Object tableName=rs.getObject(3);
Object columName=rs.getObject(4);
Object pkName=rs.getObject(4);
System.out.println(tableName+"--"+columName+"--"+pkName);
}
2.参数元数据 ParameterMetaData pstmt->ParameterMetaData->.

元数据:描述数据的数据第3张


Class.forName(DRIVER);
Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
PreparedStatement pstmt = connection.prepareStatement("select * from student where sno=? and sname=?");
//通过pstmt获取参数元数据
ParameterMetaData metaData = pstmt.getParameterMetaData();
int count=metaData.getParameterCount();
System.out.println("参数个数:"+count);
for(int i=1;i<=count;i++){
String typeName = metaData.getParameterTypeName(i);
System.out.println(typeName);
}
3.结果集元数据 ResultSetMetaData ResultSet->ResultSetMetaData

元数据:描述数据的数据第4张


Class.forName(DRIVER);
Connection connection = DriverManager.getConnection(URL, USERNAME, PASSWORD);
PreparedStatement pstmt = connection.prepareStatement("select * from student");
ResultSet rs=pstmt.executeQuery();
ResultSetMetaData metaData = rs.getMetaData();
int count = metaData.getColumnCount();
System.out.println("列的个数"+count);
System.out.println("----");
for (int i=1;i<=count;i++){
String columnName = metaData.getColumnName(i);
String columnTypeName = metaData.getColumnTypeName(i);
System.out.println(columnName+" "+columnTypeName);
}
while (rs.next()){
for (int i=1;i<=count;i++){
System.out.print(rs.getObject(i)+" ");
}
System.out.println();
}

元数据:描述数据的数据第5张

免责声明:文章转载自《元数据:描述数据的数据》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Clock Skew , Clock Uncertainty和 Periodswift-字典下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

R语言对NASA元数据进行文本挖掘的主题建模分析

原文链接:http://tecdat.cn/?p=9424 目录 什么是主题建模? 获取和整理NASA元数据 制作DocumentTermMatrix LDA主题建模 探索建模 每个文档都属于哪个主题? 将主题建模连接到关键字 NASA有32,000多个数据集,并且NASA有兴趣了解这些数据集之间的联系,以及与NASA以外其他政府组织中其他重要数据集...

离线实时一体化数仓与湖仓一体—云原生大数据平台的持续演进

​简介:阿里云智能研究员 林伟 :阿里巴巴从湖到仓的演进给我们带来了湖仓一体的思考,使得湖的灵活性、数据种类丰富与仓的可成长性和企业级管理得到有机融合,这是阿里巴巴最佳实践的宝贵资产,是大数据的新一代架构。 ​ 林伟,阿里云智能研究员、阿里云智能通用计算平台MaxCompute、机器学习PAI平台技术负责人 本篇内容将从三个部分为读者讲述离线实时一体化...

jconsole使用

先看一张图 根据JConsole和任务管理器对比,堆内存大小在250M左右,差不多空跑一个程序用idea启动springboot就是这个大小 项目启动初始类在一万个左右,活动线程50个上下,cpu利用率可以忽略。 idea工具本身占用内存在1.7G,这个貌似有点大,具体的内存使用需要后续学习? google浏览器1G内存感觉也是逆天了。 内存分析这张图比...

Hadoop学习之路(十二)分布式集群中HDFS系统的各种角色

NameNode 学习目标 理解 namenode 的工作机制尤其是元数据管理机制,以增强对 HDFS 工作原理的 理解,及培养 hadoop 集群运营中“性能调优”、“namenode”故障问题的分析解决能力 问题场景 1、Namenode 服务器的磁盘故障导致 namenode 宕机,如何挽救集群及数据? 2、Namenode 是否可以有多个?name...

NameNode和DataNode工作原理剖析

            NameNode和DataNode工作原理剖析                                      作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 一.DataNode的工作原理 1>.查看数据节点存储数据的目录   系统中的数据块的位置并不是由NameNode维护的,而是以块列表的形式...

MySQL8.0新增配置参数

activate_all_roles_on_login 此参数在版本8.0.2引入,是一个可以动态调整的global级参数,默认值为OFF。此参数用于控制在账户登录时是否激活已经授予的角色,如果为ON则授予的角色会被激活,设置为OFF时只能通过SET DEFAULT ROLE显式激活用户角色。activate_all_roles_on_login设置只在账...