原本以为Java中是值传递;那么当把一个connection传递给一个函数的时候,在此函数中调用connection.close()方法额话只是关闭了传递过来的值,不会关闭原来的connection,然而并不是这样的,调用close()方法后会把原来的connection也关闭掉,以下是做的一个测试程序。`package test;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;

public class test {

public static void main (String[] args) throws ClassNotFoundException, SQLException
{connection();}
private static void connection() throws SQLException, ClassNotFoundException
{Class.forName("com.mysql.jdbc.Driver");String url = "jdbc:mysql://localhost:3306/mysql";Connection connection = DriverManager.getConnection(url,"root","");Statement ps = connection.createStatement();close(connection);if(connection.isClosed()){System.out.println("connection 已被关闭");}else{System.out.println("connection 未被关闭");}if(null == (ps = connection.createStatement())){System.out.println("connection 确认为空");}else{System.out.println("connection 确认不为空");}open(connection);}
private static void close(Connection conn) throws SQLException
{if(null == conn){System.out.println("connection 为空");}else{System.out.println("connection 不为空  调用close 方法");conn.close();}
}private static void  open(Connection conn)
{if(null == conn){System.out.println("connection 为空");}else{System.out.println("connection 不为空 open 方法");conn = null;if(null == conn){System.out.println("少妇白洁");}}
}
private static void  tranfor(int i )
{i = 5;System.out.println(i);
}

}

下面是测试的结果:
***connection 不为空 调用close 方法
connection 已被关闭*
Exception in thread “main” com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: **No operations allowed after connection closed.
at** sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)

这个是我的一个疑惑,如我的文章有幸被您看到,您知道原因的话,希望您能不吝赐教。

关于Connection的一个测试相关推荐

  1. Apache中的一个测试小工具

    一个不错的 目录中的 ab.exe ,相当简单容易的一个测试小工具. ab -n 1000 -c 50 http://www.xxx.com/(要测试的网站目录)相当的简单容易.让你初步对服务器的性能 ...

  2. 这是一个测试rss的内容哦

    这是一个测试rss的内容哦 转载于:https://www.cnblogs.com/cbyniypeu/p/6725675.html

  3. 怎样从0开始搭建一个测试框架_0

    怎样从0开始搭建一个测试框架_0 在开始之前,请让我先声明几点: 这个"从0开始"并不是说你不需要任何基础知识,而是指框架从无到有的过程,要开始搭建还是需要一定基础 请确保你已经掌 ...

  4. 定义一个 圆形 Circle类 , 定义其中的长度length属性,定义一个求面积getArea()的方法。 并编写一个测试类,进行长度的赋值和展示,并调用求面积方法展示面积值。

    定义一个 圆形 Circle类 , 定义其中的长度length属性,定义一个求面积getArea()的方法. 并编写一个测试类,进行长度的赋值和展示,并调用求面积方法展示面积值. public cla ...

  5. 一个测试工程师面试官的真实分享!个人超赞同!

    最近一段时间都在做集中招聘,参加了许多面试,累个半死.加上之前在团队中最近几年也做了不少面试,关于测试工程师招聘的话题,刚才没事特意google了一下,除了一些面试题外居然没有几篇心得方面的文章.上午 ...

  6. 如何在gradle上仅运行一个测试类

    本文翻译自:How to run only one test class on gradle I am new to Gradle. 我是Gradle的新手. I use Gradle 1.10 an ...

  7. JAVA 编写一个员工类,成员变量和成员方法自拟,编写一个测试类

    课后习题练习 3.4 编写程序实现以下功能: (1).员工类(Emploee):c=成员变量包含员工号和员工姓名,成员方法包含构造方法和输出方法(输出员工信息). (2). 部门主管类(Manager ...

  8. 定义一个长方形类,定义 求周长和面积的方法,然后定义一个测试了Test,进行测试

    定义一个长方形类,定义 求周长和面积的方法,然后定义一个测试了Test,进行测试. import java.util.Scanner; class ChangFangXing{private int ...

  9. 公司25k招了一个测试员不会自动化,试用期没过就赶走了...

    最近翻了一些网站的招聘信息,把一线大厂和大型互联网公司看了个遍,发现市场还是挺火热的,虽说铜三铁四,但是软件测试岗位并没有削减多少,建议大家有空还是多关注和多投简历,不要闭门造车,错过好机会. 仔细分 ...

  10. 中秋测试大礼包来了,送一个测试流量app~

    PS:中秋来临之际,提前祝大家阖家团圆,中秋快乐,送给大家一个测试大礼包,一个用于流量测试的Android app,市场独一份,好用实在~ 流量app仅支持安装在安卓6.0以上设备进行测试,主要通过N ...

最新文章

  1. 最大子矩阵(降维处理)
  2. python批量ping50台服务器_Python小技巧—批量ping的方法
  3. range在c语言中的意思,“range”的含义,你get到了吗?
  4. 调优您的 LAMP 应用程序的 5 种简单方法
  5. java代码,继承。。。主要是传值,赋值。
  6. Please let us know in case of any issues
  7. 力扣题目——1249. 移除无效的括号
  8. Struts入门学习(三)---自定义类型转换器
  9. C语言面试题分类-位运算
  10. 计算机网络技术自谋职业,过去认知或许都是错的 主编告诉你游戏PC该怎么选
  11. 基于JQUERY的WEB在线流程图设计器GOOFLOW 0.5版 数据值解析
  12. 小甲鱼【C语言】《带你学C带你飞》笔记
  13. 全球与中国乳制品替代杏仁制品市场深度研究分析报告
  14. 真正拖垮你的,是沉没成本
  15. final_cut_pro基础
  16. Android bug日志/错误收集
  17. 解构金蝶EAS 开发工具
  18. 计算机应用基础2019年12月所有题,2019年12月网络教育统考《计算机应用基础》复习题(九)...
  19. SQL 错误 [40000] [42000]: Error while compiling statement: FAILED
  20. uTools插件-Excalidraw轻量的在线白板绘图工具

热门文章

  1. maven打包常用命令总结
  2. python 将excel文件转换为txt文件_python实现Excel文件转换为TXT文件
  3. 解决 AMD 卡 OBS 全屏录制黑屏
  4. 华为hcie证书含金量_华为hcie证书含金量高吗
  5. js传中文到java乱码怎么解决方法_页面js中文乱码怎么处理?
  6. SpringCloud-Alibaba之Nacos,Java集合面试题及答案
  7. 网络安全—社会工程学
  8. 禁止Solaris系统不必要的网络服务
  9. 算法分析与设计 八大排序算法
  10. faster RCNN之RPN详解