文章目录

  • ​​1.Mybatis四大组件​​
  • ​​2.SqlSession四大对象​​
  • ​​3.映射器三大组成部分​​
  • ​​4.总结​​

1.Mybatis四大组件

mybatis (四大组件 + 四大对象 + 三大组成部分) (二)_返回结果

  1. SqlSessionFactoryBuilder (构造器)
    会根据配置或者代码来生成SqlSessionFactory
  2. SqlSessionFactory (工厂接口)
    以后他来生成SqlSession
    一般采用单例模式处理它
  3. SqlSession (会话)
    一个既可以发送SLQ执行返回结果,也可以获取Mapper的接口
    SqlSession 的作用类似一个JDBC中的 Connection 对象代表着一个连接资源的启用。
  4. SQL Mapper (映射器)
    负责发送SQL 去执行,并返回结果。
    使用MyBatis 肯定是要生成 SqlSessionFactory

2.SqlSession四大对象

mybatis (四大组件 + 四大对象 + 三大组成部分) (二)_数据库_02

Executor发起sql执行任务

  1. 先调用​​statementHandler​​​中的​​prepare()​​进行SQL的编译
  2. 然后调用​​statementHandler​​​中的​​parameterize()​​​设置参数
    这里其实真正设置参数的是​​​ParameterHandler​​​中的​​setparameters()​​​方法,该方法与​​typeHandler​​进行参数类型的转换。
  3. 然后执行​​query/update​​​方法,这里使用​​ResultSetHandler​​进行结果的组装工作
  • Executor
  • statementHandler
  • ParameterHandler
  • ResultSetHandler

3.映射器三大组成部分

mybatis (四大组件 + 四大对象 + 三大组成部分) (二)_数据库_03

  • MappedStatement:sql的ID、缓存信息、resultType、ParameterType、resultMap等信息
  • Sqlsource:是MappedStatement的一个属性,是一个接口,主要提供BoundSql
  • BoudSql:是建立SQL和参数的地方,有三个主要属性,ParameterMappings、ParameterObject和sql,这个对象比较重要,我们通常使用插件就是对它进行拦截;

4.总结

  • Mybatis四大组件构成mybatis的整个生命周期;
  • sqlSession四大对象,描述SQL执行的流程;
  • 映射器组成部门,描述最底层SQL执行的细节;