标签:接口 get 多个 mybatis原理 映射 源码 apache XML 工作
一、静态代理
可以为一个接口生成一个代理类,代理类去操作这个接口的具体实现类
二、动态代理
1. 可以为多个接口生成同一个代理类,代理类去操作这个接口的具体实现类
2. 通过拦截器方法的回调,对目标target方法进行增强
三、mybatis原理
1. mybatis使用动态代理,生成了接口的代理类 org.apache.ibatis.binding.MapperProxy
2. 代理类也做了实现类的工作,通过xml和实现类的映射关系,执行sql
3. mybatis使用方法的全限定名作为key,去xml寻找唯一的sql去执行,因此接口Mapper内的方法不能重载
四、可以使用JDK动态代理自定义一个MapperProxy,跟mybatis的源码比较
标签:接口 get 多个 mybatis原理 映射 源码 apache XML 工作
原文地址:https://www.cnblogs.com/june0816/p/6709154.html