JDBC中如何通过结果集获取元数据

JDBC元数据简介 大家好,我是一个爱举铁的程序员Shr。   本篇文章将会介绍JDBC中的元数据。   源码地址:https://github.com/ShrMus/Dao/tree/master/dao_20180603/src/main/java/com/shrmus/jdbc/metadata   一、什么是元数据? 描述数据库或其组成部分的数据成为元数据(区别于那些存在数据库中的实际数据)[1... 阅读详情

在查询一个未知的表时,我们不知道表中有多少列,
这些列都是什么类型,可以通过查询元数据,查询他的列数、列名、列的类型。

元数据可以理解为是一个事物进行分类进行查询的作用,
列:我们查看书籍的时候常常会看目录,

目录就可以理解为了元数据的一种表现形式


package com.csdn.jdbcdemo.date2017_11_18;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;

import com.csdn.jdbcdemo.date2017_11_12.BasicDataSourceDemo;


/**
 * 使用JDBC实现元数据的获取
 * 就是获取该表中的列名
 * @author 89155
 *
 */
public class GetMataData {
	public static void main(String[] args) {
		
		try {
			//连接DB
			Connection connection
				= BasicDataSourceDemo.getConnection();
			String sql = "SELECT * FROM EMP";
			
			//DB对象
			PreparedStatement pstate
				= connection.prepareStatement(sql);
			//处理结果集
			ResultSet rs = pstate.executeQuery();
			
			//获取元数据
			ResultSetMetaData mdata = rs.getMetaData();
			
			//获取元数据列数
			Integer columnnums =Integer.valueOf(mdata.getColumnCount());
			
			//迭代元数据
			for (int i = 1; i < columnnums; i++) {
				System.out.print(mdata.getColumnName(i)+"    ");
			}
			
			//迭代结果集
			while(rs.next()){
				System.out.println(
						rs.getInt(1)+   //==rs.getInt("EMPNP")
						rs.getString(2)+//==rs.getString("ENAME")
						rs.getString(3)+//==rs.getString("JOB")
						rs.getInt(4)+//==rs.getInt("EGR")
						rs.getDate(5)+//==rs.getDate("HIREDATE")
						rs.getInt(6)+//==rs.getInt("SAL")
						rs.getInt(7)+//==rs.getInt("COMM")
						rs.getInt(8));//==rs.getInt("DEPTNO")
				/*
				 * 这里的参数是给数字1....8...n或者是字符串都是一样的
				 * 这里个数字要和数据库中的列表所对应起来.不可以越界
				 * 这里是从1开始,可以理解为索引的意思但是不可以认为是索引
				 * 区别:
				 * 使用数字的可读性差,没有字符串的参数那么好,
				 * 就像编程的时候,共同遵守见名之意
				 */
			}
			
			//关闭连接
			rs.close();
			pstate.close();
		} catch (SQLException e) {

			e.printStackTrace();
		}finally{
			BasicDataSourceDemo.closeConnection();
		}
	}
}


第一张图是使用JDBC读取数据库中数据

第二张是数据库被读的一张表



工作:三菱PLC与伺服之CC-Link IE Field Network通讯应用 CC-LINK-IE 阅读详情

相关推荐

SSL证书验证:VMware Horizon Client的安全隐患与临时解决方案

本文深入分析了VMware Horizon Client中SSL证书验证失败的安全隐患,提供了临时解决方案与长期防御策略。针对自签名证书、证书链断裂等常见问题,文章详细解析了风险成因,并给出分级响应方案,帮助企业平衡安全与效率。通过实战案例和自动化脚本,指导IT管理员构建主动防御体系,有效降低中间人攻击风险。

weixin_29290863的博客 337

数据库-MySQL-JDBC-结果集

结果集的取值方法 取结果有两种方法: 按列标题 按列序列号 1 按列标题取值 以下示例中,无论字段是什么类型,均用getString() 来取值演示 String sql = "SELECT id as 学号, name as 姓名,birthday FROM student"; Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql); // 取得结果集中的每一行数据 while

魂小猫的博客 337

nRF52811墨水屏时钟DIY:从全刷到局刷的实战改造指南(附完整代码)

本文详细介绍了如何将基于nRF52811的墨水屏时钟从耗电的全屏刷新模式改造为高效的局部刷新模式。通过剖析全刷与局刷的原理差异,提供了从工程架构、驱动层适配到应用层逻辑重构的完整实战指南,并附上关键代码示例。改造后,设备功耗显著降低,续航大幅提升,同时解决了视觉闪烁问题,是DIY低功耗墨水屏应用的实用参考。

weixin_29194693的博客 351

【使用JDBC获取数据库相关的元数据信息】

使用JDBC获取数据库相关的元数据信息

qq_45891676的博客 1169

西门子Industrial Copilot实战:5个工业场景下的AI效率提升案例

本文通过五个工业场景实战案例,深入解析西门子Industrial Copilot如何将工业智能转化为实际生产力。从自动化配置、预测性维护到能源优化与人机交互,这位AI助手显著缩短工程周期、提升设备可用率并降低运营成本,展示了其在工业领域系统化、工程化的落地价值。

3c4x5z6v7b的博客 925

在Simulink中实现一个基于SiC MOSFET的高效率电机驱动系统

本文介绍了在Simulink中构建基于SiC MOSFET的高效率电机驱动系统的详细流程。系统由直流电源模块、SiC MOSFET逆变器模块、PMSM电机模型、控制策略模块(包括矢量控制和PWM生成)以及反馈测量模块组成。文章逐步指导了从模型创建到参数设置的完整过程,包括各模块的具体实现方法。通过仿真可以评估系统在不同负载条件下的响应速度、效率、功率密度等性能指标。该建模方法为电机驱动系统的设计和优化提供了有效工具,同时建议根据实际硬件规格和工程需求进行参数调整和定制化开发。

xiaoheshang_123的博客 248

oracle库结果显示截断,oracle 数据库,通过resultSet.getObject()获取时间类型截断的问题的解析(格式化时间不能完全输出,也就是只能到日,小时后面的没有了)...

Priorto9.2,theOracleJDBCdriversmappedtheDATESQLtypetojava.sql.Timestamp.ThismadeacertainamountofsensebecausetheOracleDATESQLtypecontainsbothdateandtimeinformationasdo...

weixin_42490307的博客 342

C# MES通信从入门到精通(1)——串口传输文件

本文详细介绍了在Mes通信领域如何使用串口发送文件,由实战经验总结,堪称MES通信领域的葵花宝典!

qq_34059233的博客 3748

Oracle JDBC实现存在BUG(ResultSet::setFetchSize())?

根据JDK JDBC文档,ResultSet::setFetchSize()函数语义为 JDBC 驱动程序设置此 ResultSet 对象需要更多行时应该从数据库获取的行数。如果指定的获取大小为零,则 JDBC 驱动程序忽略该值,随意对获取大小作出它自己的最佳猜测。默认值由创建结果集的 Statement 对象设置。获取大小可以在任何时间更改。 但在实际使用Oracle JDBC驱动时,我们开

风飒飒的专栏 5923

总结个人关于雷达样式的见解(脉内脉间调制)

概述 雷达有各种各样的脉内脉间调制样式,对于雷达的设计者来说,不外乎三个目的: 1、增加雷达性能,如提高测距精度,增大侦察距离等; 2、雷达的工作机制决定雷达必须采用此种样式的调制,如有些SAR雷达为保证径向测距精度,需要使用脉内宽带调制信号; 3、降低雷达被电子战装备截获的概率,也就是LPI设计。 对于雷达对抗方,则只会观察到信号存在脉内及脉间的调制。对于一般的雷达信号,通常只采用脉内调制,脉间频率调制,脉间PRI调制。 脉间调制类型 1、PD雷达的脉间特征 雷达进行脉间调制的主要是PRI..

年糕的博客 3万+

18-XLINX的XC7A100T的BANK0引脚说明

DXP_0和 DXN_0是纯输入引脚,Xilinx Artix-7 FPGA 内部集成的一个片上监控模数转换器​ 的差分模拟输入对,模数转换器​的模拟信号输入端,将外部的模拟电压​ 采样并转换为内部的数字值,是一个单向的信号采集过程。它是与 VCCADC配对的关键引脚,共同为内部的精密模数转换器提供一个纯净、安静、独立的参考地平面。多FPGA同步配置: 在多FPGA系统中,主FPGA配置完成后,可以拉低从FPGA的 INIT_B使其等待,等所有FPGA都准备好后,再同时释放,实现同步启动。

weixin_44479192的博客 231

AVA Oracle JDBC 操作 rs.getMetaData().getTableName()方法

java操作Oracle 中 ResultSet.getMetaData().getTableName() 取出的总是“”,怎么回事??? 我的目的是取出 查询语句 中的 表名 ,(除了字符串截取)有没有什么好的方法.... 望提供帮助 我的代码是: public static void main(String[] args) throws Exception { Stri...

dai_tian的博客 826

利用 SAP Joule 提升 ABAP 开发效率的前提条件与限制全解析

综上,想要在 ABAP Development Tools 中顺利使用 SAP Joule,既要准备好 BTP、IAS、ABAP 系统与 ADT 的版本与信任链,也要理解许可证、配额、语法范围等限制。只有在这些前提全部满足后,Joule 才能真正发挥生成式 AI 的价值,帮助 ABAP 开发者从繁琐模板中解放出来,把注意力投入在业务创新与 Clean Core 改造之上。未来 SAP 还将扩展中文语境、自动修复建议以及跨系统智能代理等功能,值得持续关注。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 661

JDBC 获取结果集元数据详解

JDBC 获取结果集元数据详解

weixin_51288065的博客 686

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Javaweb学习笔记之JDBC(十):获取 数据库元数据、参数元数据、结果集元数据

package com.demo.beanutils; import com.demo.utils.JdbcUtils; import org.junit.Test; import java.sql.*; /** * 元数据:数据库、表、列 等的定义信息; * 元数据包括:数据库元数据、参数元数据、结果集元数据; * 获取元数据的方法 一般都是以 MetaData 结尾; */ p...

秋忆夏伤的博客 526

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

第四章 JDBC的元数据

JDBC连接和释放连接的工具类: public class JDBCCoonection { private final static String DRIVE = "oracle.jdbc.OracleDriver"; private final static String URL ="jdbc:oracle:thin:@10.211.55.3:1521:orcl"; private fi...

故园 500

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

jdbc mysql resultset结果集获取 表 元数据 获取列 字段 名 类型

jdbc mysql resultset结果集获取 表 元数据 获取列 字段 名 类型

qq_37525851的博客 1623

21【JDBC操作数据库元数据】

当使用语句对象(PreparedStatement、Statement)执行查询获取结果集时,使用结果集对象(ResultSet)可以获取本次查询结果集的元数据,元数据中包含了查询结果集的列数量、指定列的类型、指定列所在的表名等详细情况;当使用PreparedStatement对参数进行预编译处理时,可以获取参数的元数据,例如预编译的参数个数、参数的类型等,但在MySQL驱动大部分方法都不支持,关于这个功能我们了解即可;...

緑水長流*z 1270

jdbc获取数据库元数据,获取数据库列表,获取数据库基本信息,获取指定数据库中的表信息,获取指定表中的字段信息

jdbc获取数据库元数据 package cn.itcast.metadata.test; import org.junit.Before; import org.junit.Test; import java.sql.*; import java.util.Properties; /** * 测试数据库元数据...

苏凯的博客 2714

【JavaSE】JDBC:API实战(CURD,封装结果集,批量处理sql,处理二进制大数据文件,获取主键列、元数据)

接上一篇:JDBC(一)基础. 用JDBC的API来做一些常规的练习。 连接工具类 连接MySQL数据库的工具类 JDBCUtils.java import java.io.FileReader; import java.io.IOException; import java.net.URL; import java.sql.*; import java.util.Properties; /** * JDBC工具类 */ public class JDBCUtils { //声明用到参数对应的

算法工程师dongab的博客 588

mybatis打印查询元数据

最近参与一个项目,项目的有一需求模块:在前台可以动态指定数据源,并执行配置的sql. 之前使用的功能是jdbc实现的,后来被我改造成了使用mybatis: mybatis动态切换|增加数据源 ,在经过一段时间后,发现还挺好用。 然后同事就参照修改了其他的功能,但是在改造的过程中,出现问题: 之前在使用jdbc,当查询结果为空时,可以获取到column-name,但是切换到mybatis时无法获取,...

dark 1466

十、JDBC--元数据(五)

一、元数据 1.什么是元数据 元数据:数据库、表、列的定义信息。 2.元数据的来源 +++ JDBC开发步骤: 1.加载驱动 2.获取连接对象 3.创建执行不同sql的st对象 4.执行sql +++ JDBC资源对象: 连接对象(Connection) st对象(Statement、PreparedStatem...

weixin_45602227的博客 159

JDBC之通过ResultSet对象对结果集进行处理

原文链接:http://dev.youkuaiyun.com/develop/article/35/article/35/article/34/article/34/article/34/article/34/article/35/35924.shtm 从前面的学习中,我们掌握了通过Statement类及其子类传递SQL语句,对数据库管理系统进行访问。一般来说,对数据库的操作大部分都是执行查询语句。

Azhuoyanyan的专栏 2079

JDBC学习笔记之元数据

元数据是关于数据的组织,数据域及其关系的信息,简而言之,元数据就是关于数据的数据。     好比,我们得到数据库、表、列等的定义信息。这些信息,就是元数据。   JDBC针对元数据的操作主要由常用的三个借口展开,即Connection,Statement,ResultSet:数据库元数据(DatabaseMetaData)、参数元数据(ParameterMetaData)、结果集元数据(Res

qq_32971807的博客 1364

bos 获取数据库连接_JDBC入门(三) —— 获取元数据

一、数据库元数据 JDBC获取数据库元数据的相关API:DatabaseMetaData conn.getMetaData() —— 获取一个 DatabaseMetaData 对象,该对象包含关于此 Connection 对象所连接的数据库的元数据。String getDatabaseProductName() —— 获取此数据库产品的名称String getDat...

weixin_42318812的博客 265

【JDBC】使用JDBC 获取元数据

使用JDBC 获取元数据 通过JDBC 也可以获取到元数据,比如数据库的相关信息,或者当我们使用程序查询一个不熟悉的表时, 我们可以通过获取元素据信息,了解表中有多少个字段,字段的名称 和 字段的类型. 常用类介绍 JDBC中描述元数据的类\ 元数据类 作用 DatabaseMetaData 描述数据库的元数据对象 ResultSetMetaData 描述结果集的元数据对象 获取元数据对象的方法 : getMetaData () connection 连接对象, 调用 get

akiaug的日录 1301
上一篇: 使用JDBC实现查询和转账操作
下一篇: JDBC中的分页查询
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值