ResultSet转List

一、ResultSet转ListMap

把ResultSet转成ListMap可以更方便的处理数据。可以使用for循环,将每一行数据的key和value取出来放到HashMap中,并把HashMap放到ArrayList中,最后返回ArrayList即可。

public List<Map<String, Object>> resultSetToListMap(ResultSet rs) throws SQLException {
    List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
    ResultSetMetaData md = rs.getMetaData();
    int columns = md.getColumnCount();
    while (rs.next()) {
        Map<String, Object> row = new HashMap<String, Object>(columns);
        for (int i = 1; i <= columns; ++i) {
            row.put(md.getColumnName(i), rs.getObject(i));
        }
        list.add(row);
    }
    return list;
}

二、ResultSet转JSON

把ResultSet转成JSON可以更方便的处理并传输数据。可以使用for循环,将每一行数据的key和value取出来放到JSONObject中,最后返回JSONObject即可。

public JSONObject resultSetToJson(ResultSet rs) throws SQLException, JSONException {
    JSONObject json = new JSONObject();
    ResultSetMetaData md = rs.getMetaData();
    int columns = md.getColumnCount();
    while (rs.next()) {
        JSONObject row = new JSONObject();
        for (int i = 1; i <= columns; ++i) {
            row.put(md.getColumnName(i), rs.getObject(i));
        }
        json.accumulate("data", row);
    }
    return json;
}

三、ResultSet转Map

把ResultSet转成Map可以更方便的处理数据。可以使用while循环,将第一行数据的key和value取出来放到HashMap中,并把HashMap返回即可。

public Map<String, Object> resultSetToMap(ResultSet rs) throws SQLException {
    Map<String, Object> map = new HashMap<String, Object>();
    ResultSetMetaData md = rs.getMetaData();
    int columns = md.getColumnCount();
    if (rs.next()) {
        for (int i = 1; i <= columns; ++i) {
            map.put(md.getColumnName(i), rs.getObject(i));
        }
    }
    return map;
}

四、ResultSet回滚

ResultSet回滚是指取消之前对ResultSet所做的修改并恢复之前的状态。可以使用ResultSet的rollback方法来实现回滚。示例代码如下:

try {
    ResultSet rs = stmt.executeQuery("SELECT * FROM table");
    // 进行更新操作
    rs.rollback();
} catch (SQLException e) {
    e.printStackTrace();
}

五、ResultSet方法

ResultSet提供了许多便于操作结果集的方法,如getRow、absolute、relative、previous等。示例代码如下:

while (rs.next()) {
    int id = rs.getInt("id");
    String name = rs.getString("name");
    // 获取当前行的索引
    int index = rs.getRow();
    // 将光标移到第一行
    rs.first();
    // 将光标移到指定行
    rs.absolute(5);
    // 将光标移动到相对位置
    rs.relative(2);
    // 将光标移到上一行
    rs.previous();
}

六、ResultSet遍历

ResultSet提供了一种遍历结果集的方式,即使用while循环和next方法。示例代码如下:

while (rs.next()) {
    int id = rs.getInt("id");
    String name = rs.getString("name");
}

七、ResultSet接口

ResultSet接口是Java中操作数据库中结果集的接口,可以通过实现这个接口来进行结果集的操作。示例代码如下:

class ResultSetImpl implements ResultSet {
    // 实现ResultSet接口的方法
}

八、ResultSet起始索引

ResultSet起始索引是指ResultSet中记录的第一行索引,可以使用ResultSet的first方法、absolute方法或relative方法来获取起始索引。示例代码如下:

ResultSet rs = stmt.executeQuery("SELECT * FROM table");
// 获取起始索引
rs.first();
int index = rs.getInt("id");
// 将光标移到第5行
rs.absolute(5);
index = rs.getInt("id");

九、ResultSet未关闭的后果

不关闭ResultSet可能会导致连接泄漏、内存泄漏等问题,所以在使用ResultSet后需要及时关闭。示例代码如下:

ResultSet rs = stmt.executeQuery("SELECT * FROM table");
while (rs.next()) {
    int id = rs.getInt("id");
    String name = rs.getString("name");
}
rs.close();

十、ResultSet是结果集类

ResultSet是Java中操作数据库中结果集的类,可以使用ResultSet提供的方法来获取结果集的信息。示例代码如下:

ResultSet rs = stmt.executeQuery("SELECT * FROM table");
ResultSetMetaData md = rs.getMetaData();
int columns = md.getColumnCount();
while (rs.next()) {
    int id = rs.getInt("id");
    String name = rs.getString("name");
}
rs.close();

原创文章,作者:CQWBZ,如若转载,请注明出处:https://www.506064.com/n/370090.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
CQWBZCQWBZ
上一篇 2025-04-18 13:40
下一篇 2025-04-18 13:40

相关推荐

  • Tensor to List的使用

    Tensor to List是TensorFlow框架提供的一个非常有用的函数,在很多的深度学习模型中都会用到。它的主要功能是将TensorFlow中的张量(Tensor)转换为P…

    编程 2025-04-29
  • 如何使用Python将输出值赋值给List

    对标题进行精确、简明的解答:本文将从多个方面详细介绍Python如何将输出的值赋值给List。我们将分步骤进行探讨,以便读者更好地理解。 一、变量类型 在介绍如何将输出的值赋值给L…

    编程 2025-04-28
  • Python List查找用法介绍

    在Python中,list是最常用的数据结构之一。在很多场景中,我们需要对list进行查找、筛选等操作。本文将从多个方面对Python List的查找方法进行详细的阐述,包括基本查…

    编程 2025-04-28
  • Python DataFrame转List用法介绍

    Python中常用的数据结构之一为DataFrame,但有时需要针对特定需求将DataFrame转为List。本文从多个方面针对Python DataFrame转List详细介绍。…

    编程 2025-04-27
  • Python中list和tuple的用法及区别

    Python中list和tuple都是常用的数据结构,在开发中用途广泛。本文将从使用方法、特点、存储方式、可变性以及适用场景等多个方面对这两种数据结构做详细的阐述。 一、list和…

    编程 2025-04-27
  • 使用Flutter开发ToDo List App

    本文将会介绍如何使用Flutter开发一个实用的ToDo List App。ToDo List,即待办事项清单,是一种记录人们未处理工作和待办事项的方式。随着日常生活的快节奏,如此…

    编程 2025-04-27
  • list长度

    一、长度对内存和性能的影响 在Python中,list是一种基本的数据类型,它常常被用于存储数据。然而,当list的长度不断增加时,它对于内存和性能的影响也逐渐加重。 在处理大量数…

    编程 2025-04-25
  • List of Devices Attached是什么意思

    一、介绍 在Android应用程序开发中,List of Devices Attached这个术语是非常常见的。它的简称是LoDA,大多数情况下,我们可以看到这个缩写在Androi…

    编程 2025-04-25
  • Java List.Sort使用方法详解

    一、语法与功能 List.Sort() 方法用来对List中的元素进行排序,可以用 lambda 表达式或者 Comparator 实现自定义排序。调用 syntax 如下: Li…

    编程 2025-04-25
  • Python List 转字符串

    一、基本方法 Python List 转字符串的基本方法是使用join()方法。 list1 = [‘apple’, ‘banana’, ‘orange’] str1 = ”.j…

    编程 2025-04-24

发表回复

登录后才能评论