MyBatis运行原理

MyBatis运行原理

为了更加深入和清晰地掌握MyBatis,我们来深入了解MyBatis的运行原理,如所示。

 

从上图可以看出,MyBatis框架在操作数据库时大致经过了10个步骤;具体如下:

  1. 读取 MyBatis 全局配置文件 mybatis-config.xml。该文件中存有MyBatis的运行信息以及数据库连接信息。
  2. 加载mybatis-config.xml中配置的映射文件mapper.xml。映射文件需要在mybatis-config.xml中配置才能得以被加载。
  3. 利用从mybatis-config.xml中读取到的信息创建Configuration对象。通俗地说,Configuration对象存储了mybatis-config.xml中的所有配置信息。在初始化Configuration对象的时候还会创建MappedStatement对象。映射文件中的每一个<select/><insert/><update/><delete/>标签都对应一个MappedStatement对象。而且,这些标签的id即是MappedStatementid
  4. 通过MyBatis配置信息构建会话工厂SqISessionFactory
  5. SqlSessionFactory创建SqlSession对象。
  6. 创建执行器ExecutorSqlSession内部通过执行器Executor操作数据库。在Executor的执行过程中需要MappedStatement类型的参数。除此以外,Executor还负责维护查询缓存。
  7. 通过 MappedStatement将接口文件中的输入参数映射到映射文件的SQL语句中,输入参数的类型可以为Java基本数据类型、POJO、集合等。此处对输入参数的映射过程类似于JDBC编程中对preparedStatement对象设置参数的过程。在完成输入参数映射后,Executor执行数据库操作。
  8. 数据库执行SQL语句
  9. 数据库返回SQL执行结果
  10. 通过MappedStatement将执行结果映射成Java基本数据类型、POJO、集合等。此处对执行结果的映射类似于JDBC编程中对数据的解析处理过程。
posted @ 2023-10-05 16:00  荧惑守心~  阅读(23)  评论(0编辑  收藏  举报