Mybatis3.3.x技术内幕:执行一个Sql命令的完整流程( 三 )

1.因为Mapper接口不能直接实例化 , MapperProxy的作用 , 就是使用JDK动态代理功能 , 间接实例化Mapper的proxy对象 。

2.缓存MapperMethod对象 。

MapperMethod的功能:

1.解析Mapper接口的方法 , 并封装成MapperMethod对象 。

2.将Sql命令 , 正确路由到恰当的SqlSession的方法上 。

org.apache.ibatis.binding.MapperMethod.SqlCommand 。

public static class SqlCommand {
// full id 通过它可以找到MappedStatement
private final String name;
private final SqlCommandType type;
// ...

org.apache.ibatis.binding.MapperMethod.MethodSignature 。

推荐阅读