mybatis中xml文件中方法不可以重载---你知道吗?

书欣 Java面经 发布时间:2022-08-07 20:55:59 阅读数:5949 1
下文笔者讲述mybatis中mapper的xml文件原理说明
Mapper接口的工作原理:
   采用JDK动态代理
   Mybatis运行时会使用JDK动态代理为Mapper接口生成代理对象proxy
    代理对象会拦截接口方法
     使用类的全限定名+方法名
      唯一定位到一个MapperStatement并调用执行器执行所代表的sql
    然后将sql执行结果返回

从上述的运行原理,我们可以Mapper接口中的方法不能重载
   因为拦截方法时,并没有检测方法参数 

注意事项: 
    1.Dao接口就是我们通常说的Mapper接口
    接口的全限名
         就是映射文件中的namespace的值
    接口的方法名
         就是映射文件中Mapper的Statement的id值
    接口方法内的参数
         就是传递给sql的参数 
   
    2.调用接口方法时,只需使用全限名+方法名拼接字符串作为key值
       然后定位到MapperStatement
    3.在Mybatis中
     每一个SQL标签
     如<select>、<insert>、<update>、<delete>标签
    都会被解析为一个MapperStatement对象 
例:
com.mybatis3.mappers.UserDao.findUserById
  可以唯一找到namespace为com.mybatis3.mappers.UserDao
    下 id 为 findUserById 的 MapperStatement
版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

本文链接: https://www.Java265.com/JavaMianJing/202208/16598770204172.html

最近发表

热门文章

好文推荐

Java265.com

https://www.java265.com

站长统计|粤ICP备14097017号-3

Powered By Java265.com信息维护小组

使用手机扫描二维码

关注我们看更多资讯

java爱好者