思考: mybatis大致是如何帮我们完成相关操作的 ?那么我们废话不多说开始我们自定义mybatis的旅程,1.首先我们需要用户编写配置文件, 然后通过我们自己的Resources来告诉我们配置文件所在位置。
MyBatis的前身是Apache的一个开源项目一一iBatis,2010 iBatis 项目由 Apache 基金会迁移到了 Google Code ,并正式更名为 MyBatis,2013 11 月, MyBatis 迁移到 Github。
代码注释已经写的很清楚,每个 mapper 接口在解析时会对应生成一个 MapperProxyFactory,保存到 knownMappers 中,mapper 接口的实现类通过这个 MapperProxyFactory 生成,mapperProxyFactory.newInstance 代码如下:代码一目了然,通过 jdk 动态代理技术创建了 mapper 接口的代理对象,其 InvocationHandler 的实现是 MapperProxy,那么 mapper 接口中方法的执行,最终都会被 MapperProxy 增强。