本文共 359 字,大约阅读时间需要 1 分钟。
    首先基于,我们分析如下:
 
 找到SqlSession的实现类DefaultSqlSession并找到它的getMapper方法:
 
 继续进入Configuration类中找到它的getMapper方法:
 
 继续进入mapperRegistry类中找到getMapper方法:
 
 接着进入MapperProxyFactory类中找到newInstance方法:
 
 这里可以看出使用了动态代理,newProxyInstance第一个参数为类加载器,第二个参数为实现接口,第三个参数为如何代理。
 接下来进入MapperProxy看看是如何进行代理:
 
 可以看出执行了execute:
 
 接着我们进入executeForMany:
 
 通过上面分析可以看出Mybatis帮我们做了一系列工作,所以我们可以不用实现dao接口。
 可以结合这篇文章看
 转载地址:http://wuchz.baihongyu.com/