MyBatis的执行流程

MyBatis的执行流程


  1. mybatis 配置文件,包括Mybatis全局配置文件和Mybatis映射文件,其中全局配置文件配置了数据源、事务等信息;映射文件配置了SQL执行相关的信息。

  2. mybatis通过读取配置文件信息(全局配置文件和映射文件),生成Configuration对象,然后根据Configuration构造出SqlSessionFactory,即会话工厂。

  3. 通过SqlSessionFactory,可以创建SqlSession即会话。Mybatis是通过SqlSession来操作数据库的。

  4. SqlSession本身不能直接操作数据库,它是通过底层的Executor执行器接口来操作数据库的。Executor接口有两个实现类,一个是普通执行器,一个是缓存执行器(默认)。MyBatis封装了对数据库的访问,把对数据库的会话和事务控制放到了SqlSession对象中

  5. Executor执行器要处理的SQL信息是封装到一个底层对象MappedStatement中。该对象包括:SQL语句、输入参数映射信息、输出结果集映射信息。其中输入参数和输出结果的映射类型包括java的简单类型、HashMap集合对象、POJO对象类型。

    >**Executor的功能和作用**
     > 根据传递的参数,完成SQL语句的动态解析,生成BoundSql对象,供StatementHandler使用;
    > 为查询创建缓存,以提高性能;
    > 创建JDBC的Statement连接对象,传递给StatementHandler对象,返回List查询结果;
    

参考:https://blog.csdn.net/qq_32166627/article/details/70741729