返回顶部
首页 > 资讯 > 后端开发 > Python >解读ResultSet的遍历方法
  • 949
分享到

解读ResultSet的遍历方法

ResultSet的遍历方法ResultSet遍历ResultSet遍历方法 2023-02-28 11:02:10 949人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录ResultSet的遍历方法第一:直接迭代第二:调用三方工具类ResuSet遍历结果集先找到位置,再获取数据总结ResultSet的遍历方法 ResultSet遍历两种方法,第一

ResultSet的遍历方法

ResultSet遍历两种方法,第一,直接迭代,第二,用第三方工具类

第一:直接迭代

1.DQL代码

不同于前面的DML过程的是,将原来的sql语句改成DQL,并且调用statement的executeQuery() 方法执行查询,返回结果使用ResultSet 进行接收。

String sql = "select * from student";
ResultSet rs = stmt.executeQuery(sql);

这个rs保存了查询返回的结果集,并没有读取出来呢,究竟怎么读呢?首先让我们了解一下ResultSet

2.ResultSet 的功能

这个ResultSet 究竟是个什么鬼呢?查看api文档之后,总结如下:

2.1 ResultSet 对象具有指向其当前数据行的光标。 最初,光标被置于第一行之前。调用 next() 方法将光标移动到下一行;next()方法一开始是处于第一行之前,即beforeFirst,第一次使用next()就将指针指向返回结果集的第一行。每使用一次next(),指针就指向下一行。

因为该方法在 ResultSet 对象没有下一行时返回 false, 所以可以在 while 循环中使用它来迭代结果集,调用getXXX(int fieldIndex)/getXXX(String columnName)方法获取字段值。

2.2 ResultSet 接口提供用于从当前行获取列值的获取方法(getBoolean、getLong 等)。

可以使用列的索引编号或列的名称获取值。一般情况下,使用列索引较为高效。列从 1开始编号。为了获得最大的可移植性,应该按从左到右的顺序读取每行中的结果集列, 每列只能读取一次。

2.3 用作获取方法的输入的列名称不区分大小写

3.写代码读取ResultSet

3.1 读取方法1 – 通过索引来遍历读取

while(rs.next()){
        int id = rs.getInt(1);
        String name = rs.getString(2);
        String gender = rs.getString(3);
        System.out.println("id:"+id+" 姓名:"+name+" 性别:"+gender);
    }

3.2 读取方法2 – 通过字段名称来读取

强调一下,这个传入的字段名称可以不区分大小写,因为在Mysql中就是不区分的

while(rs.next()){
        int id = rs.getInt("id");
        String name = rs.getString("name");
        String gender = rs.getString("gender");
        System.out.println("id:"+id+" 姓名:"+name+" 性别:"+gender);
    }

第二:调用三方工具类

直接使用BeanHandler<T> ,就可以简化大部分代码

BeanHandler<Student> bh =new BeanHandler<Student>(Student.class);
//rs是ResultSet得到的从返回集合 
Student li = bh.handle(rs);

BeanHandler<T>是返回一个实体对象,BeanListHandler<T>是返回一个list实体集合,MapHandler是返回不确定的单个实体对象,MapListHandler是返回不确定的list实体集合。

ResuSet遍历结果集

先找到位置,再获取数据

  • next():作用是使游标下移,返回的是布尔型,判断当前行是否是最后一行末尾(是否有数据),如果是,返回false,反之则返回ture。

刚开始游标的位置:

在这里插入图片描述

用循环判断游标是否在最后一行:

while (rs.next()){ 
    String id=rs.getString(1);    
    String name=rs.getString(2);    
    int age=rs.getInt(3);    
    String sex=rs.getString(4);    
    System.out.println(id +"--"+ name+"--"+age+"--"+sex);}

JDBC查询数据库信息

package cn.cast.jdbc;

import java.sql.*;

public class JdbcDemo4 {
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
     //注册驱动
     Class.forName("com.mysql.cj.jdbc.Driver");
     //获取数据库连接对象
      Connection conn= DriverManager.getConnection("jdbc:mysql:///stu?serverTimezone=GMT","root","root");
      //定义sql语句
        String sql="select * from ss";
        //获取执行sql的对象
        Statement stmt=conn.createStatement();
        //执行sql
        ResultSet rs=stmt.executeQuery(sql);
        //处理结果(以next返回值判断是否在最后一行,然后获取数据)
        while (rs.next()){
            String id=rs.getString(1);
            String name=rs.getString(2);
            int age=rs.getInt(3);
            String sex=rs.getString(4);
            System.out.println(id +"--"+ name+"--"+age+"--"+sex);
        }
        //释放资源
        rs.close();
        stmt.close();
        conn.close();

    }
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。

--结束END--

本文标题: 解读ResultSet的遍历方法

本文链接: https://lsjlt.com/news/197757.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 解读ResultSet的遍历方法
    目录ResultSet的遍历方法第一:直接迭代第二:调用三方工具类ResuSet遍历结果集先找到位置,再获取数据总结ResultSet的遍历方法 ResultSet遍历两种方法,第一...
    99+
    2023-02-28
    ResultSet的遍历方法 ResultSet遍历 ResultSet遍历方法
  • ResultSet的遍历方法有哪些
    这篇文章主要介绍“ResultSet的遍历方法有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ResultSet的遍历方法有哪些”文章能帮助大家解决问题。ResultSet的遍历方法Result...
    99+
    2023-07-05
  • python的序列遍历和字典遍历的实现方法
    这篇文章主要介绍“python的序列遍历和字典遍历的实现方法”,在日常操作中,相信很多人在python的序列遍历和字典遍历的实现方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • Go语言的Channel遍历方法详解
    先来看看基本的定义: channel是Go语言中的一个核心类型,可以把它看成管道。并发核心单元通过它就可以发送或者接收数据进行通讯,这在一定程度上又进一步降低了编程的难度。 c...
    99+
    2022-06-07
    Channel GO 方法 go语言
  • php遍历对象的方法
    目录对于php来说,foreach是非常方便好用的一个语法,几乎对于每一个PHPer它都是日常接触最多的请求之一。那么对象是否能通过foreach来遍历呢? 答案是肯定的,但是有个条...
    99+
    2024-04-02
  • 遍历ArrayList的三种方法
    遍历 ArrayList 可以使用以下三种方法:1. 使用 for 循环遍历:可以使用 for 循环结合 ArrayList 的 s...
    99+
    2023-09-14
    ArrayList
  • 二叉树遍历方法——前、中、后序遍历(java)
    二叉树结构: static class TreeNode{ public char val; public TreeNode left; public TreeNode right; ...
    99+
    2023-09-20
    算法
  • jQuery遍历方法总结
    本篇内容主要讲解“jQuery遍历方法总结”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“jQuery遍历方法总结”吧!下表列出了用于jQuery 遍历所有方法。...
    99+
    2024-04-02
  • Python遍历文件夹和读写文件的实现方法
    需 求 分 析 1、读取指定目录下的所有文件 2、读取指定文件,输出文件内容 3、创建一个文件并保存到指定目录 实 现 过 程 Python写代码简洁高效,实现以上功能仅用了40行左右的代码~ 昨天用Ja...
    99+
    2022-06-04
    遍历 文件夹 文件
  • C++ vector 遍历的几种方法
    目录1.迭代器2.C++11 新增关键字auto3.数组遍历法4.基于范围的for循环C++ vector遍历demo,多种姿势任你选~ 1.迭代器 for(vect...
    99+
    2024-04-02
  • mybatis foreach方法遍历对象
    <>     insert into databaseName.tableName(     ...
    99+
    2024-04-02
  • react有哪些遍历方法
    这篇文章主要讲解了“react有哪些遍历方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“react有哪些遍历方法”吧! rea...
    99+
    2024-04-02
  • Java ​​​​​​​HashMap遍历方法汇总
    目录1.JDK 8 之前的遍历1.1 EntrySet 遍历1.2 KeySet 遍历2.KeySet 性能问题2.1 EntrySet 迭代器遍历2.2 KeySet 迭代器遍历2...
    99+
    2024-04-02
  • jquery有哪些遍历方法
    本教程操作环境:windows7系统、jquery3.6版本、Dell G3电脑。jQuery 遍历方法总结jQuery 遍历函数包括了用于筛选、查找和串联元素的方法。方法描述add()把元素添加到匹配元素的集合中addBack()把之前的...
    99+
    2023-05-14
    jquery javascript
  • python遍历目录的方法小结
    本文实例总结了python遍历目录的方法。分享给大家供大家参考,具体如下: 方法一使用递归: """ def WalkDir( dir, dir_callback = None, file_callba...
    99+
    2022-06-04
    遍历 小结 目录
  • JavaScript 数组遍历的五种方法
    目录一、for 循环:基础、简单二、forEach() 方法:使用回调函数三、map() 方法:使用回调函数四、for..in 循环:遍历对象和数组五、for…of 循环:遍历对象和...
    99+
    2024-04-02
  • python中遍历的方法有哪些
    python中实现遍历的方法:1.使用iter()函数遍历;2.使用enumerate()函数遍历;3.使用range()和len()函数遍历;python中实现遍历的方法有以下几种使用iter()函数遍历cities = ["G...
    99+
    2024-04-02
  • c++ set遍历的方法是什么
    在C++中,可以使用迭代器或者范围循环来遍历Set。1. 使用迭代器遍历Set:```cpp#include #include in...
    99+
    2023-09-15
    c++
  • JS异步遍历的实现方法
    目录实现方法示例代码forEach 遍历map 遍历for 循环for-of 循环for-await-ofPromise.all附加内容参考背景:需要给对象数组的每一项添加某个属性,...
    99+
    2023-05-17
    JS 异步遍历
  • php遍历两个数组的方法
    PHP是一种非常强大且广泛应用的编程语言,对于遍历两个数组的需求在实际开发中会经常出现。在本文中我们将介绍几种PHP遍历两个数组的方法,以满足不同的需求。1.使用for循环遍历最基本的遍历方式,也是最容易理解和上手的方式。我们可以使用两个嵌...
    99+
    2023-05-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作