使用连接完成后,您需要通过调用其close()方法显式关闭它,以释放连接可能持有的任何其他数据库资源(游标,句柄等)。

实际上,Java中的安全模式是在完成它们后,在finally块中关闭ResultSet,Statement和Connection(按此顺序),如下所示:

Connection conn = null;

PreparedStatement ps = null;

ResultSet rs = null;

try {

// Do stuff

...

} catch (SQLException ex) {

// Exception handling stuff

...

} finally {

if (rs != null) {

try {

rs.close();

} catch (SQLException e) { /* ignored */}

}

if (ps != null) {

try {

ps.close();

} catch (SQLException e) { /* ignored */}

}

if (conn != null) {

try {

conn.close();

} catch (SQLException e) { /* ignored */}

}

}

finally块可以稍微改进(避免空检):

} finally {

try { rs.close(); } catch (Exception e) { /* ignored */ }

try { ps.close(); } catch (Exception e) { /* ignored */ }

try { conn.close(); } catch (Exception e) { /* ignored */ }

}

但是,这仍然是非常冗长,所以你通常最终使用一个帮助类关闭对象在安全的安全助手方法和finally块成为这样:

} finally {

DbUtils.closeQuietly(rs);

DbUtils.closeQuietly(ps);

DbUtils.closeQuietly(conn);

}

java中关闭数据库连接_在Java中关闭数据库连接相关推荐

  1. java.lang.IllegalArgumentException: 字符[_]在域名中永远无效。 at

    [http-nio-8080-exec-1] org.apache.coyote.AbstractProcessor.parseHost [xxx_tomcat] 是无效主机注意:更多的请求解析错误将 ...

  2. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  3. java使用外部库_在Java中使用外部库

    java使用外部库 Java附带了一组核心库,其中包括定义常用数据类型和相关行为的库,例如String或Date : 与主机操作系统进行交互的实用程序,例如System或File : 有用的子系统来管 ...

  4. java 读取webapp文件_在Java Webapp和Java Normal应用中读取公共外部属性文件

    但是,我们有以下一些特殊要求, Webapp将部署到tomcat. 格式为.jar的普通Java应用程序将放在/ myapp文件夹下 myappConfig.property文件将放置在/ myapp ...

  5. java中readline函数_自定义BufferedReader中read和readLine方法

    BufferedReader中read和readLine方法总结 实例如下所示: package day0208; import java.io.FileReader; import java.io. ...

  6. java 中的枚举_说说Java中的枚举(一)

    在实际编程中,往往存在着这样的"数据集",它们的数值在程序中是稳定的,而且"数据集"中的元素是有限的.例如星期一到星期日七个数据元素组成了一周的"数据 ...

  7. java代码在jsp中怎么写_在jsp中写java代码

    该服务器上的所有的访问者的所有 jsp 页面 D.该服务器上的所有的访问者的所有 jsp 页面和 Java 程序 6.在 JSP 中调用 JavaBean 时不会用到的标记是( )...... jav ...

  8. java dao层代码生成器_实际开发中 dao、entity的代码怎样自动生成?一款工具送给你...

    01 关注"一猿小讲"朋友,都知道以往的文章一直倡导拒绝 CRUD,那到底什么是 CRUD?今天咱们就聊聊 Java 妹子小猿与数据库老头交互的事儿. 产品小汪铿锵有力的说:小猿同 ...

  9. java中 jacob作用_【JAVA】JACOB使用简介

    它允许在java中调用com接口自动组件,它使用JNI(本地调用程序)来进行本地调用COM库.它可运行在x86和支持32位和64位Java虚拟机 X64的环境. 测试源码包: 密码: ej9u JAC ...

  10. idea中java文件怎么运行_在Java中使用临时文件/文件夹

    Java NIO.2 API提供了对使用临时文件夹/文件的支持.例如,我们可以轻松地找到临时文件夹/文件的默认位置,如下所示: Java 1 String defaultBaseDir = Syste ...

最新文章

  1. pythonprint()_python基础1 print()函数
  2. python实现快速排序算法_基础算法:快速排序(python实现)
  3. 从程序架构提升安全性
  4. 微信支付教程系列之扫码支付
  5. Axure external link打开原理
  6. 矩阵置零Python解法
  7. 收集常用的CSS基础面试题
  8. jsf集成spring_Spring和JSF集成:异常处理
  9. 计算机在科技英语翻译中起的作用,浅谈科技英语翻译中英语词语的正确理解与表达...
  10. ios 6.1中 Release问题
  11. 网络管理 之 Fedora Core 网络配置工具system-config-network介绍
  12. 用c#开发微信(10) JSSDK 基本用法 分享接口“发送到朋友”
  13. PADS导出gerber文件
  14. hsf端口_分布式服务框架HSF
  15. NodeJS+七牛云实现图片上传
  16. 如何提高(怎样才能不断提升自己)
  17. Windows10下WSL的配置与使用
  18. Push Pull:注意力攻击生成可迁移对抗样本
  19. 以太网实习_实习 | 2018年春季实习面试问题整理
  20. ​​​​​​青少年软件编程(C语言)等级考试试卷目录一览

热门文章

  1. 超详细JDK下载与安装步骤
  2. ModelSim 仿真教程
  3. Modelsim 安装步骤详解
  4. 谷歌翻译器-谷歌翻译器软件批量自动翻译
  5. 学科分类号查询 计算机工程,学科分类与代码分类号查询.doc
  6. 用Linux编写C语言程序
  7. 虚拟机搭建Windows2003步骤详解
  8. 数据分类分级指南范围
  9. 局域网共享工具_[9月17号]局域网环境下文件共享和打印机共享的系统工具软件 局域网共享精灵 V1.0...
  10. iis如何连接mysql_iis怎么连接数据库