前面已经看过了内置的增删改查,这次就来看下getMapper是怎么操作的吧。
前面也讲过是怎么样生成动态代理的,这里就不再重复累述了,直接从图1开始看吧
图1

这里能看到调用了execute方法,具体看下execute做了些什么,如图2:
图2

根据sql类型的不同来执行sql语句,能看到insert,delete和update,都是先解析入参,在调用了sqlSession的内置的方法,内置的方法前面已经讲过,就不重复说了。看select,select也是一样,如果返回是void,那么result就是null,判断方法返回的类型,剩下的起始和调用内置方法是一样的,如图3:
图3:

解析参数,然后调用sqlSession的selectList。
后续就是返回结果,返回结果前面也已经说过,就不再说明了。
如有不对请提出,共同提高,谢谢!!!
mybatis的getMapper方法
原文:https://www.cnblogs.com/shenqiaqia/p/10637817.html