当我想返回 ResultSet 时在哪里关闭 JDBC 连接

2024-01-26

看来ResultSet当我关闭时会自动关闭Connection。 但我想归还ResultSet并在另一种方法中使用它,然后我不知道在哪里关闭Connection and PreparedStatement.

public ResultSet executeQuery(String sql, String[] getValue)
{
    Connection conn = null;
    PreparedStatement pstmt = null;
    ResultSet rs = null;
    try
    {
        conn = getConn();
        pstmt = conn.prepareStatement(sql);
        if (getValue != null)
        {
            for (int i = 0; i < getValue.length; i++)
            {
                pstmt.setString(i + 1, getValue[i]);
            }
        }
        rs = pstmt.executeQuery();
    } catch (Exception e)
    {
        e.printStackTrace();
        closeAll(conn, pstmt, rs);
    }
    return rs;
}

我已经搬家了closeAll(conn, pstmt, null);进入 catch 块,因为我发现如果我把它放在 finally 块中,我就会失去我的rs就在它返回之前。 现在当我想关闭rs,我无法关闭conn and pstmt。有什么解决办法吗?


Use CachedRowSet用于在断开连接后保留信息

Connection con = ...
ResultSet rs = ...

CachedRowSet rowset = new CachedRowSetImpl();
rowset.populate(rs);

con.close()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

当我想返回 ResultSet 时在哪里关闭 JDBC 连接 的相关文章

  • Java Try Catch Final 没有 Catch 的情况下会阻塞

    我正在审查一些新代码 该程序只有一个 try 和一个 finally 块 既然排除了 catch 块 那么如果 try 块遇到异常或任何可抛出的内容 它如何工作 它直接进入finally块吗 如果 try 块中的任何代码可以引发已检查异常
  • 未找到 MessageSource 的 ResourceBundle [消息]:找不到基本名称消息的包

    在 applicationContext xml 中 我定义了 MessageSource 如下所示
  • 无法解析类型为 xxx 的任何 bean;限定符:[@javax.enterprise.inject.Any()]

    我有一个 LoginProvider 接口 public interface LoginProvider boolean login String username String password 以及两种不同的实现 public clas
  • 使用cameltestsupport进行Camel单元测试,模板始终为空

    我正在用 Camel 做一个简单的单元测试 我想做的就是从文件 在资源下 读取 JSON 内容 将其发送到 Java 类进行验证 这是我试图测试的路线 无论我做什么 模板 我用来发送正文 json 始终为空 这是我的代码 public cl
  • Grails 2.3.0 自动重新加载不起作用

    我最近将我们的项目升级到 grails 2 3 0 一切工作正常 除了每当我更改代码时自动重新加载都无法工作的问题 这包括所有项目工件 控制器 域 服务 gsps css 和 javascript 文件 我的旧版本 grails 可以正常工
  • eclipse中导入项目文件夹图标

    我在 Eclipse 工作区中新导入的 Maven 项目有J and M项目文件夹顶部的图标 项目和包资源管理器 而其他导入的 Maven 项目只有一个J icon 有人可以解释其中的区别吗 该项目有J装饰器被称为 Java 项目和具有M装
  • 使用 RecyclerView 适配器在运行时更改布局屏幕

    我有两个布局文件 如下所示 如果列表中存在数据 则我显示此布局 当列表为空时 我会显示此布局 现在我想在运行时更改布局 当用户从列表中删除最后一项时 我想将布局更改为第二张图片中显示的 空购物车布局 In getItemCount Recy
  • 无法在 Spring Boot 测试中模拟 persistenceContext

    我正在使用带有 Mockito 框架的 spring boot 测试来测试我的应用程序 存储库类 EntityManager 之一作为参考 我的班级如下所示 Repository Transactional Slf4j public cla
  • 记录骆驼路线

    我的项目中有几个 Camel 上下文 如果可能的话 我想以逆向工程方式记录路线 因为我们希望保持与上下文相关的文档最新 最好的方法是什么 我们倾向于预先实际设计路线 并使用来自EIP book http www eaipatterns co
  • 如果使用的 JVM 是 x86 或 x64,则以不同的方式解决 Maven 依赖关系?

    我设置了一个 Maven 存储库来托管一些 dll 但我需要我的 Maven 项目根据使用的 JVM 是 x86 还是 x64 下载不同的 dll 例如 在运行 x86 版本 JVM 的计算机上 我需要从存储库下载 ABC dll 作为依赖
  • 具有共享依赖项的多模块项目的 Gradle 配置

    使用 gradle 制作第一个项目 所以我研究了 spring gradle hibernate 项目如何组织 gradle 文件 并开始制作自己的项目 但是 找不到错误 为什么我的配置不起作用 子项目无法解决依赖关系 所以项目树 Root
  • 将表值参数与 SQL Server JDBC 结合使用

    任何人都可以提供一些有关如何将表值参数 TVP 与 SQL Server JDBC 一起使用的指导吗 我使用的是微软提供的6 0版本的SQL Server驱动程序 我已经查看了官方文档 https msdn microsoft com en
  • 列表应该如何转换为具体的实现?

    假设我正在使用一个我不知道源代码的库 它有一个返回列表的方法 如下所示 public List
  • 无法加载或查找主类,可以在命令行中使用,但不能在 IDE 中使用[重复]

    这个问题在这里已经有答案了 在将其标记为重复之前 请先听我说完 我正在尝试使用 gradle 导入一个 java 项目 功能齐全 适用于所有其他笔记本电脑 没有问题 我的项目 100 正常运行 适用于所有其他笔记本电脑 当我的笔记本电脑被重
  • 如何配置 WebService 返回 ArrayList 而不是 Array?

    我有一个在 jax ws 上实现的 java Web 服务 此 Web 服务返回用户的通用列表 它运行得很好 Stateless name AdminToolSessionEJB RemoteBinding jndiBinding Admi
  • Espresso 和 Proguard 的 Java.lang.NoClassDefFoundError

    我对 Espresso 不太有经验 但我终于成功地运行了它 我有一个应用程序需要通过 Proguard 缩小才能处于 56K 方法之下 该应用程序以 3 秒的动画开始 因此我需要等到该动画结束才能继续 这就是我尝试用该方法做的事情waitF
  • 将图像添加到自定义 AlertDialog

    我制作了一个 AlertDialog 让用户可以从我显示的 4 个选项中选择一个 前 3 个让他们在单击号码时直接拨打号码 第 4 个显示不同的视图 现在看起来是这样的 由于第四个选项的目的是不同的任务 我想让它看起来不同 因为用户可能会感
  • 如何在Java中正确删除数组[重复]

    这个问题在这里已经有答案了 我刚接触 Java 4 天 从我搜索过的教程来看 讲师们花费了大量精力来解释如何分配二维数组 例如 如下所示 Foo fooArray new Foo 2 3 但我还没有找到任何解释如何删除它们的信息 从内存的情
  • 挂钩 Eclipse 构建过程吗?

    我希望在 Eclipse 中按下构建按钮时能够运行一个简单的 Java 程序 目前 当我单击 构建 时 它会运行一些 JRebel 日志记录代码 我有一个程序可以解析 JRebel 日志文件并将统计信息存储在数据库中 是否可以编写一个插件或
  • 在哪里存储 Java 的 .properties 文件?

    The Java教程 http download oracle com javase tutorial essential environment properties htmlon using Properties 讨论如何使用 Prop

随机推荐

  • VBA - 将字符串转换为 UNICODE

    我需要将 HTML 字符串从西里尔文和拉丁文符号的混合转换为 UNICODE 我尝试了以下方法 Public HTML As String Sub HTMLsearch GetHTML http nfs mobile bg pcgi mob
  • Swift/PHP 如何使用 Alamofire 在 UITableView 中显示 mysql 数据(json)

    我想创建一个仅返回一个单元格的 TableView 在此单元格中包含三个标签 id 用户名和类别 这将导致让用户看到他的基本详细信息 当我运行应用程序时 我的 UITableView 仍然没有显示任何结果 空白 请任何人都可以检查我的代码以
  • Eclipse war 导出:针对特定服务器运行时进行优化

    在 Eclipse 中 将 Web 项目导出到war ear文件里有这个选项 针对特定服务器运行时进行优化 选择此选项后会发生什么 到目前为止找不到对此的解释 我在跑步Eclipse Indigo 3 7 Eclipse 本身不会对该选项执
  • IntelliJ 和 Play 框架

    智能claims https www jetbrains com idea features play framework html使用 Play 框架 我无法让它工作 安装IDEA 14 0 安装Scala插件1 1 1 在 Intell
  • 使用 C# 获取 Windows Mobile 手机驱动器的大小(免费、总计)

    如何使用 C 获取 Windows Mobile 手机上任何驱动器的大小 免费 总计 我需要使用在设备上运行的代码 而不是在连接的 PC 上 来执行此操作 我根据对问题的更好理解重写了答案 但对于发现这个问题的人来说 并没有丢失任何原始答案
  • Maven/Eclipse,Eclipse 如何遵守 Maven 运行时范围?

    在 pom xml 中 我包含了 logback 和 SLF4J 如下所示 使用 maven 构建效果非常好 如果我直接从logback导入它会给出编译错误
  • 3 使用 SUM 和 GROUP BY 进行表连接不起作用

    我正在使用三张桌子 AccountingLine 保存通用帐户详细信息 预算 保存每个会计行的预算数据 每个会计行有许多行 实际 保存每个 AccountingLine 的实际成本数据 每个 AccountingLine 许多行 我试图在单
  • 使用 Symfony Process 运行后台任务,无需等待进程完成

    用户提交表单后 我想渲染一个视图文件 然后我想启动一个后台任务来处理五个 MS Excel 文件 每个文件最多可以有 2000 行 但方式是这样用户就不会不必等待该过程完成即可查看该页面 任务完成后我会通过电子邮件通知用户 我正在使用 Sy
  • Android 弹出菜单

    我正在制作一个 Android 应用程序 我有一个显示的项目列表 我希望创建一个弹出菜单 就像您点击联系人列表中联系人的头像时弹出的菜单一样 我尝试查看 Android 参考但找不到它 有人创建过这些弹出菜单之一吗 指向参考或代码示例的链接
  • 如何在 pygame 中检查直线和矩形之间的碰撞?

    我目前正在使用 pygame 在 python 中创建一个游戏 我的 AI 目前正在透过墙壁 看到 我的角色并向其射击 但 AI 不应该射击 所以我的问题是 如何防止这种情况发生 我考虑过线碰撞 其中线从我的 AI 到我的角色 如果这条线碰
  • Google ReCaptcha 未发布“g-recaptcha-response”

    这个问题之前已经被问过 新的 Google ReCaptcha 未发布 接收 g recaptcha response https stackoverflow com questions 27683888 new google recapt
  • 从 mysql 查询中创建多个页面

    所以 我有这个数据库 其中有一些字段称为 id 标题 和 消息 现在我在数据库中收到了大约 700 条消息 所以我想做的就是设置每页最多 50 个消息标题的限制 并制作多个页面 我该怎么做 我只知道使用LIMIT 正如您所猜测的 您必须使用
  • 如何修改 woocommerce_before_cart 操作

    我正在尝试使我的 woocommerce 购物车模板显示为完整的 12 列布局 现有布局使用 bootstrap 的 col sm 8 列 我需要将其更改为 col sm 12
  • JavaScript、Razor 和 Escape 字符。像撇号

    我在我的 MVC3 项目中使用 Razor 我还使用 FullCalendar JQuery 插件 所以当我尝试填充数组时它效果很好 除了一件事 如果s Name包含撇号 它呈现为 39 那不是我想要的 我尝试使用不同的方法 例如编码和解码
  • 确定 FieldInfo 是否是编译器生成的 backingfield

    标题几乎说明了一切 我怎么知道我是否正在获得编译器为 get 生成的 backingfield 设置 属性 我正在运行此代码来获取我的 FieldInfos Class MyType private int foo public int b
  • 是否可以在 Kotlin 中创建递归函数类型?

    我有代表流程中步骤的函数 每个函数还知道下一步 如果有的话 我希望能够做类似的事情 fun fooStep Step do something return barStep the next step is barStep 这些函数是从中央
  • 无法使用作为映射值传递的 Java SQL 语句对象访问临时表

    我的代码目前的工作原理与此类似 public void foo Statement st String sqlStr String tempTableName String aString foo tempTableName boolean
  • 如何独立测试模型的回调方法?

    我在模型中有一个方法 class Article lt ActiveRecord Base def do something end end 我还对该方法进行了单元测试 spec models article spec rb describ
  • 由志愿翻译人员本地化 Delphi 2009 应用程序的流程?

    我有一个免费的科学应用程序 近 100 个国家 地区的数千人正在使用该应用程序 许多人主动提出免费翻译 现在 D2009 使这变得更容易 通过集成和外部本地化工具 加上本机 Unicode 支持 我希望在几种语言中实现这一点 并稳步添加尽可
  • 当我想返回 ResultSet 时在哪里关闭 JDBC 连接

    看来ResultSet当我关闭时会自动关闭Connection 但我想归还ResultSet并在另一种方法中使用它 然后我不知道在哪里关闭Connection and PreparedStatement public ResultSet e