mybatis的运行原理之源码解析

1,020 阅读1分钟

1. 原理图、分层架构

image.png

image.png

2. SqlSessionFactor的初始化

把配置文件的信息解析出来并保存到Configuartion对象中,返回DefaultSqlSeesion对象

image.png

流程图:

image.png

3. 获取sqlSession对象

第一步:DefaultSqlSeesion调用openSession方法

image.png

image.png

image.png

流程图:

image.png

4. sqlSession对象的getMapper获取到接口的代理对象

image.png

生成代理对象 image.png

流程图:最终返回一个代理对象MapperProxy

image.png

5. 通过代理对象(MapperProxy)实现查询

image.png

image.png

mybatis的四大对象:

  • Executor:MyBatis的执行器,用于执行增删改查操作
  • StatementHandler:数据库的处理对象,用于执行SQL语句
  • ParameterHandler:处理SQL的参数对象
  • ResultSetHandler:处理SQL的返回结果集

image.png