數(shù)據(jù)加載中……
          Apace源代碼學(xué)習(xí)1-dbutil初學(xué)之一
             關(guān)于dbutil的介紹,可以參照http://commons.apache.org/dbutils/,具體我就不多少了。
             dbutil源代碼中主要分為三個包,dbutils、dbutils.handlers、dbutils.wrappers。我學(xué)習(xí)的順序也是一個包一個包來解決。
             今天看的主要是dbutils.wrappers(從簡單的入手,呵呵)
             1.dbutils.wrappers包---一些包裝方法
               1.1SqlNullCheckedResultSet類
               這個類的基本作用如下,檢查對db的操作的返回結(jié)果是否是null,可以根據(jù)自己的需要對Null的情況設(shè)自己的預(yù)設(shè)值.
               這個類的設(shè)計思路:
            設(shè)置常見field的私有成員變量
            對每個field對應(yīng)getNullField()和setNullField()方法
            同時設(shè)置一個HashMap<String, Method> nullMethods變量和一個靜態(tài)方法區(qū),這個方法主要用于將getNullField()和getField()相對應(yīng),key是“getField“          value是getNullField()。
               這個類實現(xiàn)了InvocationHandler接口(可以現(xiàn)看下動態(tài)代理),
               invoke()方法,獲取結(jié)果對象result,并判斷result是否是null,通過HashMap映射調(diào)用getNullField()方法。
               1.2StringTrimmedResultSet類
               這個類比上面的那個類要簡單很多,就是將ResultSet方法中的getString()和getObject()方法(如果獲取的是String類型)獲取的值,去除首位的空格。
            2.dbutils包
              2.1DbUtils類
              這個類中大量使用重載,想了一會會名詞,看了記憶力是越來越差阿。
              這個類是一系列JDBC的幫助類,主要是關(guān)閉方法和加載驅(qū)動。Connection/ResultSet/Statement。
              關(guān)閉方法分為三類:
          一般的close()這種close()針對以上三個對象之一,先判斷是是否為null,如果不為null的話則調(diào)用對象自身的close方法。
                  closeQuietly()方法,該方法直接調(diào)用上面的close()方法,同時捕獲異常。
                  帶有commit的close方法或closeQuietly方法,這種方法中加如了conn.commit(),也就是手動處理了事務(wù)。應(yīng)該是預(yù)先調(diào)用了conn.setAutocommit(false);
              好了,今天就看到這了,希望最近公司不忙。力爭下周看完它。。加油。
           ps:今晚看了一小部分,感覺有些代碼寫的很好,但是目前還不能從整體的去把握它,這個估計要全部看完之后才可以,到時候在回過頭看一遍,那個時候應(yīng)該能快很多,而且也應(yīng)該理解更深刻。。good night..
          體會更深刻。

          posted on 2011-07-11 00:05 潘潘.eagle 閱讀(312) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 博爱县| 休宁县| 乌审旗| 连州市| 溆浦县| 曲靖市| 邯郸市| 金湖县| 德州市| 肃南| 八宿县| 乳源| 庄浪县| 海淀区| 江达县| 双流县| 德兴市| 苍南县| 汪清县| 萨嘎县| 延津县| 库伦旗| 钦州市| 郎溪县| 宁城县| 苍梧县| 瓦房店市| 宁强县| 牡丹江市| 海南省| 阿合奇县| 湖州市| 桂平市| 改则县| 乡宁县| 旌德县| 宿州市| 奉新县| 宜丰县| 阜阳市| 时尚|