五(补充一)、Mybatis中Mapper代理方式

  从五、仿MyBatis自定义的持久层如何添加增删查改功能中可以知道Mybatis的实现核心就是Mapper代理执行sql获取业务数据。在测试案例中,使用如下代码即可得到相应业务数据。

   

  通过Mybatis源码分析可以知道自定义实现完全体现的Mybatis的核心本质实现:mapper通过XMLConfigBuilder解析保存在Congiguration中,下面分析关于mapper属性的的UML图:

    

   查看MapperProxy源码

    

   可知mapper方式处理,使用JDK动态代理,调用其invoke方法。invoke方法调用MapperMethod中的execute方法。通过查看源码,可以知道代理方法里面调用的是MyBatis提供的传统的访问接口:

  

 

posted on 2021-03-10 17:49  池塘里洗澡的鸭子  阅读(112)  评论(0编辑  收藏  举报