迄今为止把Mybatis讲解的最详细的PDF,图文并茂,通俗易懂

废话不多说,直接进入文章。

我们在使用MyBatis的时候,会在xml中编写sql语句。如图:

那么,MyBatis底层是如何构造sql,写了接口为啥就能执行sql?

下面带着这个疑问我们一步步分析。

梳理MyBatis的设计思路

  • 创建SqlSessionFactory实例
  • 实例化过程中,加载配置文件创建configuration对象
  • 通过factory创建SqlSession
  • 通过SqlSession获取mapper接口动态代理
  • 动态代理回调sqlsession中某查询方法
  • SqlSession将查询方法转发给Executor
  • Executor基于JDBC访问数据库获取数据
  • Executor通过反射将数据转换成POJO并返回;给SqlSession
  • 将数据返回给调用者

MyBatis三大核心阶段

  • 初始化阶段:读取XML配置文件和注解中的配置信息,创建解析对象,并完成各个模块的初始化工作。就是把我们的配置文件加载到内存里面去。在sqlSession初始化的时候加载到内存中去的。
  • 代理阶段:封装iBatis的编程模型,使用mapper接口开发的初始化工作;
  • 数据读写阶段:通过SqlSession完成SQL的解析,参数的映射,SQL的执行,结果的反射解析过程。

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值