概述:
1.ResultSetMetaData包含了查询后的结果集的相关信息
2.通过rs.getMetaData();来创建
3.可以写出通用型遍历结果集程序(不知道结果集结构情况下)
步骤:
1.先获得结果集字段或者字段别名
2.遍历封装结果集(可以根据字段自行选择封装哪些数据)
package com.cxy.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.Map; /** * @author cxy */ public class ResultSetMetaDataTest { public static void main(String[] args) throws Exception { Class.forName("com.mysql.jdbc.Driver"); try ( Connection con=DriverManager.getConnection("jdbc:mysql://localhost/dbtest", "root", "root"); PreparedStatement pstmt=con.prepareStatement("select id_ as 主键,name_ as 姓名,sex as 性别 from t_student", ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet rs=pstmt.executeQuery(); ) { ResultSetMetaData rsm=rs.getMetaData(); System.out.println("t_student表有几个字段?"+rsm.getColumnCount()); System.out.println("第一个字段所在表?"+rsm.getTableName(1)); System.out.println("========================"); //遍历一个不知道结构的表 System.out.println("通用型遍历结果集:"); System.out.println("1.获得所有的列名"); int colNum=rsm.getColumnCount(); String[] colName=new String[colNum]; //字段名 String[] colLabel=new String[colNum]; //别名 for(int i=1;i<=colNum;i++) { colName[i-1]=rsm.getColumnName(i); colLabel[i-1]=rsm.getColumnLabel(i); } System.out.println(Arrays.asList(colName)); System.out.println(Arrays.asList(colLabel)); System.out.println("------------------------"); System.out.println("2.遍历并封装"); //把结果集封装成List<Map<String,String>> List<Map<String,String>> dbData=new ArrayList<>(); while(rs.next()) { Map<String,String> one = new HashMap<String, String>(); for(int i=1;i<=colNum;i++) { one.put(colLabel[i-1], rs.getString(i)); } dbData.add(one); } //System.out.println(dbData); for(Map<String,String> one : dbData) { System.out.println(one); } }catch(SQLException e) { System.out.println("数据库操作出现异常"); } } }
结果截图:
相关连接:
声明:
1.原创文章,转载请标明并加本文连接。
2.文章反映个人愚见,如有异议欢迎讨论指正
相关推荐
为了在IT行业中找到一份工作,熟练掌握Java基础知识至关重要。这份“Java基础学习44.pdf”资源旨在帮助初学者快速掌握Java的核心概念,特别是与数据库交互的JDBC技术。 首先,JDBC(Java Database Connectivity)是...
第四章: Java语法基础 47 学习目标 47 基本语法元素 48 Java关键字 49 基本Java数据类型 50 变量声明和赋值 52 引用(Reference)类型 52 存储器分配和布局 53 this引用 55 Java编码约定 56 运算符的优先级 58 升级...
在Java基础学习中,理解并掌握反射是非常关键的一步,因为这不仅可以帮助你深入理解Java的内在机制,还能提升你在实际开发中的灵活性。 反射的概述:Java反射机制是指在运行状态中,程序可以获取到关于类、接口、...
总的来说,《Java Database Programming with JDBC》是一本全面介绍Java数据库编程的书籍,涵盖了从基础的SQL语法到高级的JDBC应用,对于希望使用Java进行数据库开发的程序员来说,是一份宝贵的资源。
JDBC的核心价值在于其跨平台性、标准化以及丰富的功能集,这使得Java成为构建企业级应用的首选语言之一。 #### 1. JDBC概览 **定义与结构** JDBC允许Java应用程序连接到多种数据库管理系统(如Oracle、MySQL、...
在Java编程中,调用Oracle数据库的存储过程是常见的数据操作任务,特别是在处理复杂的业务逻辑或需要高效批量处理数据时。存储过程是预编译的SQL语句集合,可以提高性能,减少网络流量,并增强安全性。本文将详细...
在Java编程语言中,数据库开发是一项关键技能,它允许开发者创建、读取、更新和删除存储在...通过这些实例,你不仅可以学习到JDBC的基本用法,还能了解到最佳实践和性能优化策略,为你的数据库开发之旅打下坚实的基础。
- ResultSetMetaData:用于获取ResultSet对象中的列信息,如列名、数据类型等。 - Transaction管理:在数据库操作中,事务是确保数据一致性的重要机制,Java中的Connection对象提供了commit()和rollback()方法来...
1. Java基础知识: - 类与对象:Java是面向对象的语言,程序由类定义,通过实例化对象来执行任务。理解封装、继承和多态是掌握Java的基础。 - 变量与数据类型:Java有基本数据类型(如int、double、char)和引用...
学生提问:为什么有栈内存和堆内存之分? 93 4.6.2 基本类型数组的初始化 95 4.6.3 引用类型数组的初始化 96 4.6.4 没有多维数组 99 学生提问:我是否可以让图4.13中灰色覆盖的数组元素再次指向另一个数组?这样...
1. `java.sql`包提供了基础的数据库编程服务,如创建连接、执行SQL语句、预编译SQL语句以及处理结果集等。以下是一些关键的接口和类: - `java.sql.Connection`:代表与数据库的会话,可以获取元数据信息,执行SQL...
在Java编程语言中,连接数据库是一项基础且至关重要的任务,特别是在开发数据驱动的应用程序时。本文将深入探讨如何使用Java连接到数据库,以实现数据的读取、写入和更新。我们将围绕标题“java连接数据库”展开,...
1. 第1章可能涉及Java数据库连接(JDBC)的基础知识,包括加载驱动、建立数据库连接、创建Statement对象以及执行SQL的DDL(Data Definition Language)语句,如创建表。 2. 第2章可能讲解如何执行DML(Data ...
1. JDBC基础: JDBC是一个接口,由Sun Microsystems开发并定义,现在属于Oracle公司的一部分。它为开发者提供了与数据库交互的一组规范,包括建立连接、执行SQL语句、处理结果集等。JDBC API包含多个接口和类,如`...
1. **JDBC基础** - JDBC API由一系列接口和类组成,如`Connection`、`Statement`、`PreparedStatement`和`ResultSet`等。 - `Connection`接口代表了数据库的会话,用于建立应用程序和数据库之间的通道。 - `...
**JDBC基础** 1. **JDBC驱动**:JDBC工作在Java应用程序和数据库之间,需要依赖特定的JDBC驱动。根据实现方式,JDBC驱动分为四种类型:Type 1(JDBC-ODBC桥)、Type 2(部分Java驱动)、Type 3(纯Java网络驱动)和...
总结来说,这个Java通讯录系统展示了基础的数据库操作和GUI编程技巧。尽管代码简单,但已经涵盖了数据库连接、查询、数据展示和基本的用户交互。对于初学者来说,这是一个很好的学习实例,能够理解Java如何与数据库...
Java数据库技术异常数据流PPT教案主要讲解了Java与数据库交互的基础知识,特别是JDBC(Java Database Connectivity)的使用。JDBC是Sun公司为Java程序员提供的一种标准接口,用于连接和操作各种类型的数据库,实现...