1. 程式人生 > >mybatis動態代理剖析

mybatis動態代理剖析

   在企業開發中,我們的web專案會根據專案的業務要求及規模進行選擇理想的框架進行組合,今天我淺談一下持久層的一個優秀的框架-mybatis

    我們都知道,mybatis是一個很靈活的持久層框架,在開發中我們經常用到動態代理模式進行持久層的處理,那麼其原理是什麼呢?

    1.首先我們搭建好mybatis的執行環境,配置我們的資料來源等資訊,然後編寫我們的實體類,然後編寫我們的動態代理介面,比如實體類:user,mapper配置userMapper.xml,介面名userMapper如下

     

編寫我們的測試類:

   

通過斷點除錯得知執行原理如下圖:

     

有上圖執行過程可知:載入配置檔案--》獲取sqlsession介面--》呼叫sqlsession預設實現--》通過config物件的getMapper()方法獲取配置檔案中配置介面資訊,--》通過MapperRegistry物件繫結代理物件從而靈活的呼叫我們的業務方法。