源码地址:https://github.com/mybatis/mybatis-3/
仓库地址:https://gitcode.net/qq_42665745/mybatis/-/tree/01-xxxDao-proxy
创建简单的映射器代理工厂
执行xxxDao.method()时都做了些什么?
原理是:首先定义Dao接口,项目启动时就会通过MapperProxyFactory映射器工厂使用JDK动态代理为所有Dao接口创建代理类,真正执行的时候xxxDao.method()的时候,实际执行的是xxxDao的代理类,在代理类中就可以做非常多的事了,比如:从sqlSession的map中拿到这个方法对应的SQL,对SQL做一些改写等等。