1. 初始化
    1. 概念
      1. 可以这么说,MyBatis初始化的过程,就是创建 Configuration对象的过程
    2. 过程
      1. 加载配置文件mybatis-config.xml到MyBatis内部
      2. 使用 org.apache.ibatis.session.Configuration对象作为一个所有配置信息的容器,Configuration对象的组织结构和XML配置文件的组织结构几乎完全一样, 这样配置文件的信息就存到了Configuration这个类中了
    3. 流程图
  2. sql执行总体流程
    1. 加载配置并初始化
      1. 加载配置文件,将SQL的配置信息加载成为一个个MappedStatement对象(包括了传入参数映射配置、执行的SQL语句、结果映射配置),存储在内存中
    2. 接收调用请求
      1. 触发条件:
        1. 调用Mybatis提供的API
      2. 传入参数:
        1. 为SQL的ID和传入参数对象
      3. 处理过程:
        1. 将请求传递给下层的请求处理层进行处理。
    3. 处理操作请求
      1. 触发条件:
        1. API接口层传递请求过来
      2. 传入参数:
        1. 为SQL的ID和传入参数对象
      3. 处理过程:
        1. (A)根据SQL的ID查找对应的MappedStatement对象。
        2. (B)根据传入参数对象解析MappedStatement对象,得到最终要执行的SQL和执行传入参数。
        3. (C)获取数据库连接,根据得到的最终SQL语句和执行传入参数到数据库执行,并得到执行结果。
        4. (D)根据MappedStatement对象中的结果映射配置对得到的执行结果进行转换处理,并得到最终的处理结果
        5. (E)释放连接资源。
        6. (4)返回处理结果将最终的处理结果返回。
    4. 整体执行流程图.jpg
  3. 小结过程
    1. 加载配置
    2. SQL解析
    3. SQL执行
    4. 结果映射