gpt4 book ai didi

java - 在 Java 中使用结果集

转载 作者:行者123 更新时间:2023-11-29 09:48:44 24 4
gpt4 key购买 nike

我遇到了一个问题,必须在数据库上运行许多不同的查询(不同的返回类型、不同的列数等)。在撰写本文时,我开始怀疑是否有编写辅助函数的正确方法。看起来很容易编写一个返回 ResultSet 的函数。

然而,因为它 a) 不关闭连接 b) 不关闭结果集,所以它似乎是一个可能有效但不正确的解决方案。是否有任何地方可以转储所有结果,以便它们可以安全返回。

(我唯一能想到的就是返回一个二维字符串数组(在将所有数据转换为字符串之后)然后将其全部转换回来)

编辑: 抱歉没有写清楚,想知道是否有任何方法可以按原样存储查询结果(不需要修改它)而无需为每个单独的方法编写可能的返回类型。

二维字符串列表背后的想法是能够按原样存储查询值。

Col1 Row1 | Col2 Row1 | Col3 Row1
Col1 Row2 | Col2 Row2 | Col3 Row2

编辑 2 感谢您的回复,我想我会为它编写一个小的解析器。

最佳答案

您不应该返回结果集,您应该将结果集中的结果读入某种容器对象。 ResultSet 是数据库游标的包装器,它会在连接关闭时消失。它是您读取并立即关闭的内容,而不是您可以在应用程序中传递的内容。

看看spring-jdbc是怎么做的。您实现一个传递给 JdbcTemplate 上的方法的 resultSetMapper。

几个观察结果:

  • 您不需要使用 Spring 来使用 spring-jdbc。但是,我认为自己重新实现这些东西的值(value)很小。

  • 读取 ResultSet 以打开和关闭连接不是代码的工作,它需要在其他地方进行。

关于java - 在 Java 中使用结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17089301/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com