課程
/后端開發(fā)
/Java
/JDBC之 “ 對岸的女孩看過來”
詳細看了一遍還可以,怎么從頭到尾沒有Connection連接、PreparedStatement預編譯句柄、ResultSet的關(guān)閉操作?
2016-02-21
源自:JDBC之 “ 對岸的女孩看過來” 3-1
正在回答
可以執(zhí)行完所有再關(guān)閉Connection,老師為了演示方便沒有立馬關(guān)閉。
這里有討論:http://bbs.csdn.net/topics/390869796
一條SQL語句后連接數(shù)據(jù)庫的Connection必須要關(guān)閉嗎?
可以批處理sql語句,流程走完后關(guān)閉連接。
建議執(zhí)行完一次數(shù)據(jù)庫操作,就關(guān)閉數(shù)據(jù)庫資源;
頻繁的話,可以考慮數(shù)據(jù)庫連接池,由連接池初始化一定數(shù)量的連接,每次程序跟連接池打交道,不直接跟數(shù)據(jù)庫打交道,這樣節(jié)省資源。
獲取一個connection后,每次產(chǎn)生一個Statement,都相當于產(chǎn)生一個游標,每次操作完,便要關(guān)閉該statement。否則,如果一直只向數(shù)據(jù)庫索取連接,但不關(guān)閉的話,那么數(shù)據(jù)庫的statement連接耗盡時,便會拋出,游標超出最大數(shù)量的異常?ORA-01000:?maximum?open?cursors?exceeded 。
1.一般數(shù)據(jù)庫訪問量大的話,開啟連接池2.開啟連接池以后,就像樓上所說,用完關(guān)閉。其實后臺socket并沒有關(guān)閉,等待下一次使用。在Java7中try(申請資源){}這種結(jié)構(gòu),離開時會自動調(diào)用close的3.業(yè)務復雜的時候,并不能一次完成所有sql操作,所以用完必須關(guān)。
prepareStatement("sql語句"),可以連續(xù)使用。
舉報
一起領(lǐng)略JDBC的奧秘,為進一步學習集成框架打下良好的基礎(chǔ)
2 回答關(guān)閉數(shù)據(jù)庫操作
1 回答conn提示
1 回答為什么看不到數(shù)據(jù)庫連接關(guān)閉的操作,jdbc不需要close嗎?
1 回答Connection conn=DBUtil.getConnection();的問題
1 回答如何關(guān)閉jdbc?
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學習伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2016-02-22
可以執(zhí)行完所有再關(guān)閉Connection,老師為了演示方便沒有立馬關(guān)閉。
這里有討論:http://bbs.csdn.net/topics/390869796
一條SQL語句后連接數(shù)據(jù)庫的Connection必須要關(guān)閉嗎?
可以批處理sql語句,流程走完后關(guān)閉連接。
建議執(zhí)行完一次數(shù)據(jù)庫操作,就關(guān)閉數(shù)據(jù)庫資源;
頻繁的話,可以考慮數(shù)據(jù)庫連接池,由連接池初始化一定數(shù)量的連接,每次程序跟連接池打交道,不直接跟數(shù)據(jù)庫打交道,這樣節(jié)省資源。
獲取一個connection后,每次產(chǎn)生一個Statement,都相當于產(chǎn)生一個游標,每次操作完,便要關(guān)閉該statement。否則,如果一直只向數(shù)據(jù)庫索取連接,但不關(guān)閉的話,那么數(shù)據(jù)庫的statement連接耗盡時,便會拋出,游標超出最大數(shù)量的異常?ORA-01000:?maximum?open?cursors?exceeded 。
1.一般數(shù)據(jù)庫訪問量大的話,開啟連接池
2.開啟連接池以后,就像樓上所說,用完關(guān)閉。其實后臺socket并沒有關(guān)閉,等待下一次使用。在Java7中try(申請資源){}這種結(jié)構(gòu),離開時會自動調(diào)用close的
3.業(yè)務復雜的時候,并不能一次完成所有sql操作,所以用完必須關(guān)。
prepareStatement("sql語句"),可以連續(xù)使用。