开发者社区> 问答> 正文

java怎么让数据库第一次close后,第二次还能正常操作? 报错

"

package entity;

import util.ConnectionUtils; import java.sql.*;

public class Category { public void add(String name){ Connection conn = null; Statement stmt = null; try{ conn = ConnectionUtils.getConnection(); String sql = "insert into news_class (name) values('"+name+"')"; stmt = conn.createStatement(); stmt.executeUpdate(sql); }catch(Exception e){ e.printStackTrace(); }finally{ if(stmt != null){ try{ stmt.close(); stmt = null; }catch(Exception e){ e.printStackTrace(); } } if(conn!=null){ try{ conn.close(); conn=null; }catch(Exception e){ e.printStackTrace(); } } }

}

}

No operations allowed after connection closed.现在是报这个错误。
数据库不是操作完就是close吗?
第二次访问的时候就提示这个异常了。怎么解决啊。?

" ![image.png](https://ucc.alicdn.com/pic/developer-ecology/3422e6a217c3441ebb3a35ab4d68f14f.png)

展开
收起
因为相信,所以看见。 2020-05-26 13:56:34 686 0
1 条回答
写回答
取消 提交回答
  • 阿里,我所有的向往

    可以关闭操作stmt.close();,但是关闭连接conn.close();,就不能再操作了,要想继续操作就得重新connect

    ######

    下次重新连接呗

    ######

    你把ConnectionUtils.getConnection()代码贴一下,是不是每次调用都开一个连接,还是返回一个静态的只初始化一次的connection,如果是只初始化一次,那不要close connection了,因为第二次调用获得的就是一个已经关闭的连接了

    ![image.png](https://ucc.alicdn.com/pic/developer-ecology/cf1498f454654b5289033fb1a1547631.png)
    2020-05-27 10:08:57
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载