Java數據庫鏈接(JDBC)API是一系列可以讓Java編程人員訪問數據庫的接口,各個開發商的接口並不徹底相同。如下是一些技巧,這些技巧可以使咱們更好地發揮系統的性能和實現更多的功能。oracle培訓 git
一、關閉自動提交功能,提升系統性能 數據庫
在第一次創建與數據庫的鏈接時,在缺省狀況下,鏈接是在自動提交模式下的。爲了得到更好的性能,能夠經過調用帶布爾值false參數的Connection類的setAutoCommit()方法關閉自動提交功能,以下所示: 編程
conn.setAutoCommit(false); 服務器
值得注意的是,一旦關閉了自動提交功能,咱們就須要經過調用Connection類的commit()和rollback()方法來人工的方式對事務進行管理。 oracle
二、在客戶端軟件開發中使用Thin驅動程序 app
在開發Java軟件方面,Oracle的數據庫提供了四種類型的驅動程序,二種用於應用軟件、applets、servlets等客戶端軟件,另外二種用於數據庫中的Java存儲過程等服務器端軟件。在客戶機端軟件的開發中,咱們能夠選擇OCI驅動程序或Thin驅動程序。OCI驅動程序利用Java本地化接口(JNI),經過Oracle客戶端軟件與數據庫進行通信。Thin驅動程序是純Java驅動程序,它直接與數據庫進行通信。爲了得到最高的性能,Oracle建議在客戶端軟件的開發中使用OCI驅動程序,這彷佛是正確的。但我建議使用Thin驅動程序,由於經過屢次測試發現,在一般狀況下,Thin驅動程序的性能都超過了OCI驅動程序。 函數
三、利用helper函數對動態SQL命令進行格式化 性能
在建立使用Statement對象執行的動態SQL命令時,咱們須要處理一些格式化方面的問題。例如,若是咱們想建立一個將名字O'Reilly插入表中的SQL命令,則必須使用二個相連的「''」號替換O'Reilly中的「'」號。完成這些工做的最好的方法是建立一個完成替換操做的helper方法,而後在鏈接字符串心服用公式表達一個SQL命令時,使用建立的helper方法。與此相似的是,咱們可讓helper方法接受一個Date型的值,而後讓它輸出基於Oracle的to_date()函數的字符串表達式。 測試
四、在動態SQL或有時間限制的命令中使用Statement對象 spa
在執行SQL命令時,咱們有二種選擇:可使用PreparedStatement對象,也可使用Statement對象。不管多少次地使用同一個SQL命令,PreparedStatement都只對它解析和編譯一次。當使用Statement對象時,每次執行一個SQL命令時,都會對它進行解析和編譯。這可能會使你認爲,使用PreparedStatement對象比使用Statement對象的速度更快。然而,我進行的測試代表,在客戶端軟件中,狀況並不是如此。所以,在有時間限制的SQL操做中,除非成批地處理SQL命令,咱們應當考慮使用Statement對象。
此外,使用Statement對象也使得編寫動態SQL命令更加簡單,由於咱們能夠將字符串鏈接在一塊兒,創建一個有效的SQL命令。所以,我認爲,Statement對象可使動態SQL命令的建立和執行變得更加簡單。