JDBC中No operations allowed after connection closed
2015-07-13 10:31
155 查看
整理自csdn论坛,点击这里看原帖
第一次调用此方法没问题 可第二次就出现下面的问题(与数据库相关的操作,比如插入,查询等)
com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException:
No operations allowed after connection closed
这个问题怎么解决啊 只有把Dao.close();这个关闭Connection的方法去掉,可是这样好像也不对啊?
各位有没有碰到过类似的问题,有好的解决办法?
答案:
原因很简单。在对数据库操作结束后关闭连接是正确的做法,没什么大问题。至于出现:No operations allowed after connection closed。这样的问题原因只有一个,你这里和数据库的连接Connection是一个Static的,程序共享这一个Connection。所以第一次对数据库操作没问题,当把Connection关闭后,第二次还想操作数据库时Connection肯定不存在了。
我本人确实是这个问题,我把connection写成静态全局了,然后第一次调用之后直接关闭了,导致全局关闭了,只要把connection写成局部变量就可以了
第一次调用此方法没问题 可第二次就出现下面的问题(与数据库相关的操作,比如插入,查询等)
com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException:
No operations allowed after connection closed
这个问题怎么解决啊 只有把Dao.close();这个关闭Connection的方法去掉,可是这样好像也不对啊?
各位有没有碰到过类似的问题,有好的解决办法?
答案:
原因很简单。在对数据库操作结束后关闭连接是正确的做法,没什么大问题。至于出现:No operations allowed after connection closed。这样的问题原因只有一个,你这里和数据库的连接Connection是一个Static的,程序共享这一个Connection。所以第一次对数据库操作没问题,当把Connection关闭后,第二次还想操作数据库时Connection肯定不存在了。
我本人确实是这个问题,我把connection写成静态全局了,然后第一次调用之后直接关闭了,导致全局关闭了,只要把connection写成局部变量就可以了
相关文章推荐
- 悟空学Linux专栏----第26篇
- nginx limit_req限制ip在同一时间段的访问次数
- VM linux虚拟机 和主机进行ftp连接
- linux popen函数
- Apache日志分析与状态查看方法-Linux命令
- hadoop内存大小设置问题
- 处理【Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operatio】
- 悟空学Linux专栏----第25篇
- XAMPP Apache 配置多端口和多域名方法
- Linux内核中ioremap映射的透彻理解
- 悟空学Linux专栏----第24篇
- AOP与IOC理解
- 每天一个linux命令(50):crontab命令
- 悟空学Linux专栏----第23篇
- Linux Resin 安装
- Linux grep 命令
- Git bash 操作记住密码
- 每天一个linux命令(49):at命令
- Linux下导入、导出MySQL数据库
- 每天一个linux命令(48):watch命令