JDBC中No operations allowed after connection closed


整理自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寫成局部變量就可以了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章