码迷,mamicode.com
首页 > 移动开发 > 详细

MyBatis 学习记录3 MapperMethod类

时间:2018-09-27 20:41:18      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:signature   test   ssi   ati   学习   自定义   src   png   ESS   

主题

  之前学习了一下MapperProxy的生产过程,自定义Mapper类的对象是通过动态代理生产的,调用自定义方法的时候实际上是调用了MapperMethod的execute方法:mapperMethod.execute(sqlSession, args);所以想再简单学习记录下MapperMethod类

 

组成

技术分享图片

从上图可知,MapperMethod只有2个成员域,都是静态内部类,所以

MapperMethod ≈ SqlCommand + MethodSignature

 

 

 SqlCommand ≈ name + SqlCommandType,其中name是类似于test.mapper.UserMapper.selectByPrimaryKey的字符串相当于是标识这个MapperMethod是哪个自定义方法对应的MapperMethod

SqlCommandType是个枚举

技术分享图片

从上图中就可以明白就是对应于你在XML文件中写的标签,是select标签还是update标签还是其他.标识这个SQL是那种DML

 

 

MethodSignature ≈ java.lang.reflect.Method的封装,会记录你自定义的方法的一些信息,比如返回值是集合还是单个对象还是Void? 方法参数是否有命名参数(@Param)等等?

 

MyBatis 学习记录3 MapperMethod类

标签:signature   test   ssi   ati   学习   自定义   src   png   ESS   

原文地址:https://www.cnblogs.com/abcwt112/p/9715316.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!