天天看點

day09-2-mybatis命名參數源碼調試

目錄

  • 21 - 命名參數源碼調試
    • 進入mapperMethod的execute方法
    • 看看convertArgsToSqlCommandParam方法
    • 看看getNamedParams方法
    • Xxlayna Marie
day09-2-mybatis命名參數源碼調試

我們拿着命名參數來,看一下源碼。

day09-2-mybatis命名參數源碼調試
day09-2-mybatis命名參數源碼調試
day09-2-mybatis命名參數源碼調試
day09-2-mybatis命名參數源碼調試

第一,我們可以看到這個mapperMethod當中name的值是mapper接口當中的方法的全限定名。

這個東西,可以了解為sql語句的id。在映射檔案當中sql語句的id,我們設定的是方法名,完整的應該是加上全限定名的。

day09-2-mybatis命名參數源碼調試

第二,我們可以看到mapperMethod的type當中有一個name,是SELECT。

day09-2-mybatis命名參數源碼調試
day09-2-mybatis命名參數源碼調試
day09-2-mybatis命名參數源碼調試
我們現在雖然是面向接口程式設計,但是底層還是用得sqlSession當中的方法。

我們下面就是要看看這個

method.convertArgsToSqlCommandParam

方法。

day09-2-mybatis命名參數源碼調試

day09-2-mybatis命名參數源碼調試
day09-2-mybatis命名參數源碼調試
day09-2-mybatis命名參數源碼調試
day09-2-mybatis命名參數源碼調試
sortedMap是一個有序的map集合。
day09-2-mybatis命名參數源碼調試
我們可以看到names的值,就是我們前面分析的那個樣子的。
day09-2-mybatis命名參數源碼調試
同時,這個param的map當中還放進去了param1,param2這種key。

乖乖學習,好好做事。