ResultSet:

—— 结果集操作接口
ResultSet 接口是查询结果集接口,它对返回的结果集进行处理。ResultSet 是程
序员进行 JDBC 操作的必需接口。

ResultSetMeta:

—— 元数据操作接口
ResultSetMetaData 是对元数据进行操作的接口,可以实现很多高级功能。Hibernate 运行数
据库的操作,大部分都是通过此接口。可以认为,此接口是 SQL 查询语言的一种反射机制。
8
ResultSetMetaData 接口可以通过数组的形式, 遍历数据库的各个字段的属性, 对于我们开发
者来说,此机制的意义重大。
JDBC 通过元数据(MetaData)来获得具体的表的相关信息,例如,可以查询数据库中有哪
些表,表有哪些字段,以及字段的属性等。MetaData 中通过一系列 getXXX 将这些信息返
回给我们。
实例代码:
package JDBC_Study;import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.sql.Statement;public class ResultSetAndMetaData {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubString strSql = "select * from student where ssex = '男';";Connection conn = null;Statement stm = null;ResultSet rst = null;try {// 通过类的名字,把类(元数据对象)加载到内存中,动态导入数据库的驱动Class.forName("com.mysql.jdbc.Driver");// 获取数据库链接conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/score", "root", "123456");stm = conn.createStatement();// 获取数据库元数据DatabaseMetaData dmd = conn.getMetaData();String productName = dmd.getDatabaseProductName();String productVersion = dmd.getDatabaseProductVersion();String driverName = dmd.getDriverName();String driverVersion = dmd.getDriverVersion();// 输出System.out.println("数据库名:" + productName + ", 数据库版本号:"+ productVersion + "\n驱动名:" + driverName + "\n驱动版本:"+ driverVersion);// 执行增、删、改语句,返回int型,受影响的行数// stm.executeUpdate(strSql);// 返回一个ResultSet对象,其实就是一个表或者视图rst = stm.executeQuery(strSql);// 输出结果
//          while (rst.next()) {// 游标下移一行
//              System.out.println(rst.getString("Sid") + "\t"
//                      + rst.getString("Sname"));
//          }//结果集的元数据ResultSetMetaData rsmd = rst.getMetaData();//统计列数int columnCount = rsmd.getColumnCount();//获取第一列的属性名称String label = rsmd.getColumnLabel(1);//System.out.println(rsmd.getColumnName(1)); // 这也可以获取列的名称          System.out.println("查询结果有" + columnCount + "列");while(columnCount > 0) {System.out.println("第" + columnCount + "列的名称为:" + rsmd.getColumnLabel(columnCount));columnCount -- ;}} catch (ClassNotFoundException | SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();} finally {//打开是先打开Connection,再打开ResultSet//关闭是反的关闭if(rst != null) {try {rst.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}if (stm != null) {try {stm.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}if (conn != null) {try {conn.close();} catch (SQLException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}}

JDBC学习第二站之ResultSet与ResultSetMeta相关推荐

  1. JDBC学习笔记02【ResultSet类详解、JDBC登录案例练习、PreparedStatement类详解】

    黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...

  2. git命令学习第二站——高级篇

    在高级篇,我们就可以在整个图上自由的游走了.本章主要介绍3个部分:绝对引用,相对引用和撤销更改. 绝对引用 2.1关 这里介绍了一个重要的概念就是HEAD,其实HEAD指向的就是当前的执行的节点,我们 ...

  3. JDBC学习笔记03【JDBC事务管理、数据库连接池、JDBCTemplate】

    黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...

  4. JDBC学习笔记01【JDBC快速入门、JDBC各个类详解、JDBC之CRUD练习】

    黑马程序员-JDBC文档(腾讯微云)JDBC笔记.pdf:https://share.weiyun.com/Kxy7LmRm JDBC学习笔记01[JDBC快速入门.JDBC各个类详解.JDBC之CR ...

  5. JDBC学习笔记(1)---B站尚硅谷宋红康

    JDBC学习笔记(1)-B站尚硅谷宋红康 JDBC学习笔记(2)-B站尚硅谷宋红康 文章目录 软件架构方式介绍 JavaWeb技术概览 第1章:JDBC概述 1.1 数据的持久化 1.2 Java中的 ...

  6. JDBC学习笔记-B站动力节点

    文章目录 1.JDBC是什么? 2.JDBC的本质是什么? 3.JDBC开发前的准备工作,先从官网下载对应的驱动jar包,然后将其配置到环境变量classpath当中. 4.JDBC编程六步(需要背会 ...

  7. Python学习笔记:第二站 七十二变

    Python学习笔记 文章目录 Python学习笔记 第二站 七十二变 1. 二进制与字符编码 2. Python中的标识符与保留字 3. Python中的变量 4.Python中的数据类型 5. P ...

  8. java resultset查询_Java -- JDBC 学习--通过 ResultSet 执行查询操作

    voidtestResultSet(){//获取 id=4 的 customers 数据表的记录, 并打印 Connection conn= null; Statement statement= nu ...

  9. JSP、Servlet、JDBC学习笔记

    WEB的学习 * 服务器 * 网络的架构(面试题) * C/S client/server 客户端/服务器端 例子:QQ 快播 暴风影音 * 优点:交互性好,服务器压力小. * 缺点:客户端更新了,下 ...

最新文章

  1. HTML页面加载和解析流程详细介绍
  2. 自然语言处理:网购商品评论情感判定
  3. git diff命令输出的含义
  4. 什么是localStorage?
  5. VSFTP服务--Linux学习笔记
  6. Android app 应用签名
  7. leetcode 刷题指南
  8. linux的free会擦出磁盘吗,如何在 Linux 上检查可用的磁盘空间 | Linux 中国
  9. Oracle查看表空间使用率SQL脚本
  10. NGINX 4xx 5xx 状态码构造
  11. 小米随身WiFi,Linux下AP热点驱动(开源)
  12. python替换ppt文本_Python操作PPT实现自动查找替换
  13. 计算机键盘符号称呼,电脑键盘上特殊符号和标点符号名称的输入方法汇总
  14. Linux命令行上程序执行的那一刹那!
  15. linux禁用ssh弱加密算法,ssh弱加密算法漏洞修复
  16. 网传学习通1.7亿密码泄露:有什么补救措施?
  17. python求15的因数_python学习第15期
  18. 【论文阅读】SISR综述:From Beginner to Master: A Survey for Deep Learning-based Single-Image Super-Resolution
  19. oracle emp表不见了怎么办
  20. 正交基与非正交基在信号表达上的区别

热门文章

  1. centos7重启nginx
  2. verilog 跨时钟域 单bit延迟打拍 多bit延迟采样 多bit计数延迟采样
  3. Java数据结构之栈的数组实现
  4. 【JAVA学习】如何创建数组?
  5. 定义signature或者signatureOrSystem级别的权限
  6. centos防火墙开启、关闭、查看状态。
  7. Abaqus复合材料层合板仿真
  8. 暴力破解———罗马数字逆向解法,猜年龄利用位数信息,罗马数字的枚举解法
  9. ab压测工具的一些个人见解
  10. 摩托罗拉Atrix预言了智能手机的现在和未来