前面已經看過了內置的增刪改查,這次就來看下getMapper是怎么操作的吧。
前面也講過是怎么樣生成動態代理的,這里就不再重復累述了,直接從圖1開始看吧
圖1
這里能看到調用了execute方法,具體看下execute做了些什么,如圖2:
圖2
根據sql類型的不同來執行sql語句,能看到insert,delete和update,都是先解析入參,在調用了sqlSession的內置的方法,內置的方法前面已經講過,就不重復說了。看select,select也是一樣,如果返回是void,那么result就是null,判斷方法返回的類型,剩下的起始和調用內置方法是一樣的,如圖3:
圖3:
解析參數,然后調用sqlSession的selectList。
后續就是返回結果,返回結果前面也已經說過,就不再說明了。
如有不對請提出,共同提高,謝謝!!!