Mybatis关于JDK动态代理的实现的总结

这篇博客总结了Mybatis如何使用JDK动态代理实现数据库的CRUD操作。通过MapperRegistry注册Mapper接口,MapperProxyFactory创建代理对象,并在MapperProxy的invoke方法中执行实际操作。MapperMethod和SqlCommand类封装了SQL操作,而MethodSignature则处理方法参数信息,共同协作完成数据库交互。
摘要由CSDN通过智能技术生成

Mybatis关于JDK动态代理的实现的总结

前言

了解过Java关于JDK的动态代理之后,了解到平常用的Mybatis框架也是基于JDK动态代理实现对数据库的CRUD的,所以上网查资料,其中找到一片写得不错得博客觉得分析得已经很到位,本来想自己写一片文章的,由于自己学识尚浅,所以就索性站在巨人的肩膀上,去进行一个总结,其中有一些晦涩难懂的代码实在是看不懂,所以就放在一边了,希望有长进之后自己可以看得懂。虽然说没能写出一篇分析的文章,但是通过分析和总结之后,自己对Mybatis的底层机制有了一定的了解,起码往知其然也知其所以然的方向去发展了。

建议:在阅读Mybatis关于JDK动态代理的实现的时候,先去了解Java反射和Java关于JDK的动态代理

内容

Mybatis关于包装Mapper的代码都在org.apache.ibatis.binding 这个包下面,其中有4个类:

MapperRegistry 类是注册Mapper接口与获取代理类实例的工具类。

  • 先执行addMapper函数,也就是先注册Mapper接口到一个map里面,以Mapper接口的type为key,MapperProxyFactory为value。
  • 然后在getMapper的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值