通过sqlSession.getMapper();方法获取映射的接口及方法
sqlSession调用Configuration的getMapper方法,方法中使用了mapperRegistry.getMapper方法,通过mapperRegistry中的hashMap集合knowMappers的key获取到value-mapperProxyFactory。
 
getMapper()方法是通过configuration类调用
mybatis接口映射

MapperRegistry应该是注册Mapper接口的类

mybatis接口映射

mapperProxyFactory中使用concurrentHashMap做接口方法的缓存

mybatis接口映射

再搜下Configuration中的添加接口映射方法,发现只有这三个方法用到,

mybatis接口映射

addMappers方法,其中调用resolveUtils的方法最终目的是通过反射去判断packname下的类是否是当前类的子类,是的话会加入到resolveUtils中的一个SET集合matches

mybatis接口映射

最后是通过循环调用addMapper

mybatis接口映射

 

相关文章:

  • 2021-10-14
  • 2021-09-01
  • 2021-05-28
  • 2022-12-23
  • 2021-06-26
  • 2021-12-04
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-09
  • 2021-07-10
  • 2021-09-15
  • 2021-12-26
相关资源
相似解决方案