mybatis 原理[通俗易懂]

mybatis 原理[通俗易懂]问题:mybatis是基于mapper接口开发的,mapper接口是执行SQL语句的呢?mybatis对mapper代码的包装主要包含了4个类。1.首先mapper需要将接口进行注册,并且需要获得mapper代理工厂(mapperregistry)mapperregistry类将mapper接口进行注册,并获取mapper代理工厂的工具类(mapperproxyfactory)2.加载mapp…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

问题:mybatis 是基于mapper接口开发的,mapper接口是执行SQL语句的呢?

mybatis 对mapper代码的包装主要包含了4个类。

1.首先mapper需要将接口进行注册,并且需要获得mapper代理工厂(mapperregistry)

mapperregistry类将mapper接口进行注册,并获取mapper代理工厂的工具类(mapperproxyfactory)

2.加载mapperproxyfactory

在代理工厂工具类中创建mappery 代理,关键代码如下

 public T newInstance(SqlSession sqlSession) {

    //在这里创建了MapperProxy对象 这个类实现了JDK的动态代理接口 InvocationHandler
    final MapperProxy<T> mapperProxy = new MapperProxy<T>(sqlSession, mapperInterface, methodCache);
    //调用上面的方法 返回一个接口的代理类
    return newInstance(mapperProxy);
  }

3.创建MapperProxy类对象。

MapperProxy类对象,通过invoke调用MapperMethod.excute()方法(这是对SQLsession的包装)

4.调用MapperMethod对象

调用MapperMethod对象的execute()方法执行具体的增删改查的SQL语句

参考https://blog.csdn.net/xiaokang123456kao/article/details/76228684 进行总结

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/226841.html原文链接:https://javaforall.net

(0)
上一篇 2025年6月23日 下午3:15
下一篇 2025年6月23日 下午3:43


相关推荐

  • tomcat7和tomcat8的websocket区别

    tomcat7和tomcat8的websocket区别tomcat8真正支持jsr-356(包含对websocket的支持),tomcat7部分版本的websocket实现不兼容jsr-356。websocket实现tomcat7.x与tomcat8.x有很大差异。在tomcat7中使用websocket需要定义一个servlet,然后继承WebSocketServlet,在tomcat8中使用websocke。出自:http://blog.csd

    2022年7月18日
    27
  • Windows系统借助Docker部署Dify完整教程

    Windows系统借助Docker部署Dify完整教程

    2026年3月14日
    2
  • LaTeX多行公式_latex大括号左对齐

    LaTeX多行公式_latex大括号左对齐LaTeX是一种基于ΤΕΧ的排版系统,其中非常突出的是方便而强大的数学公式排版能力。XMind2020现已支持插入LaTeX数学命令,可实时转化为数学方程。此外还支持部分简单的化学方程,理工科的朋友们从此无需再借助其它应用,在XMind中即可完成方程的输入。今天和大家分享下在XMind中如何用LaTeX输入数学公式。1.插入方程在「插入菜单」中找到方程,点击即可进入方程…

    2022年10月11日
    4
  • 皮尔逊相关斯皮尔曼相关_肯德尔等级相关系数

    皮尔逊相关斯皮尔曼相关_肯德尔等级相关系数相关性、spss

    2022年8月4日
    12
  • APAP论文阅读笔记[通俗易懂]

    APAP论文阅读笔记[通俗易懂]As-Projective-As-PossibleImageStitchingwithMovingDLT论文阅读笔记论文和代码可以在这个网址找到:https://cs.adelaide.edu.au/~tjchin/apap/一、全文翻译题目:使用移动DLT进行尽可能投影的图像拼接摘要:我们专注于图像拼接的任务,通常通过估计投影扭曲来解决这一问题——当场景是平面的或当视图完全因旋转而不同时,该模型是合理的。这样的条件在实践中很容易被违反,这就产生了使用重影人工制品的缝合结果,这就需要使用去

    2026年2月18日
    6
  • 从源码探究双亲委派机制

    从源码探究双亲委派机制首先我们要知道双亲委派机制是为了解决什么问题 有关类加载器 可以参考我的这篇博客 所谓的双亲委派 就是先让父亲加载器试图加载该 Class 只有在父亲加载器无法加载该类时才尝试从自己的类路径中加载该类 通俗的讲 就是某个特定的类加载器在接到加载类的请求时 首先将加载任务委托给父亲加载器 依次递归 如果父亲加载器可以完成类加载任务 就成功返回 只有父亲加载器无法完成此加载任务时 才自己去加载 我们通过这张图来理解一下 在被动的情况下 当一个类加载器收到加载请求 他不会首先自己去加载 而是传递

    2026年3月19日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号