1. 程式人生 > >jdbc出現的問題總結

jdbc出現的問題總結

1jdbc主要用於操作資料庫,提高效率。

2.運用jdbc需要匯入jar包:


3. jdbc問題總結

1、為什麼採用資料庫連線池來載入connection物件?

         因為資料庫頻繁的建立和關閉,浪費了資料庫的資源,影響資料庫的操作效率,所以採用資料庫連結池的方式去載入連結物件。

2、資料庫連線池中的connection在八小時內沒有被用到,則會自動斷開連線,那麼怎麼處理資料庫連線超時的問題?

         ·我在自己寫mybatis框架的時候,這樣處理的:首先確保連線池中有指定數量的連結:將connection和建立時間System.currentTimeMillis()以鍵值對的形式存放在map集合中,用一個定時器,每隔1小時檢查一下連線數目,數目大於指定個數,則從map中移除,小於指定個數,則加入新的連結。其次:檢查連線在7個小時內是否被用,如果沒有被用,則執行一個sql語句:String sql = "drop table if exists tables";將connection物件重新加入到map集合中。具體程式碼可參考我的上一篇日誌,地址是:http://blog.csdn.net/qq_33824312/article/details/54964235

3、sql語句是硬編碼,如果需求變更需要修改sql,就需要修改java程式碼,需要重新編譯,系統不易維護。所以講java程式碼與sql語句分離開,便於系統的維護。

4、通過preparedStatement向佔位符設定引數,存在硬編碼( 引數位置,引數)問題。系統不易維護。

設想:將sql中的佔位符及對應的引數型別配置在配置檔案中,能夠自動輸入對映。

5、遍歷查詢結果集存在硬編碼(列名)。

設想:自動進行sql查詢結果向java物件的對映(輸出對映)。