mybatis运行原理

mybatis运行原理

运行过程中涉及到的类或者接口

  • Resources(c) :用于加载mybatis核心配置文件
  • XMLConfigBuilder(c) :用于解析xml文件(核心配置文件)
  • Configuration(c):用于存放xml文件解析后的结果
  • DefaultSqlSessionFactory(c):是SqlSessionFactory(I)的实现类,创建时需要使用Configuration对象。
  • SqlSession(I):是mybatis操作的核心
  • DefaultSqlSession(C):是SqlSession接口的实现类。
  • TransactionFactory(I):用于生产Transaction对象
  • Transaction(I):用于表示操作数据库的事务对象
  • Executor(I):是MyBatis的核心执行器,类似于jdbc中的Statement,常用的实现类是SimpleExecutor.

文字描述

      当mybatis运行开始时,先要通过Resources加载核心配置文件,之后使用XMLConfigBuilder对配置文件进行解析,将解析结果封装为Configuration对象,接着,使用Configuration构建一个DefaultSqlSessionFactory对象,至此,SqlSession工厂构建完成。接下来,通过工厂对象调用openSession方法创建SqlSession对象。在这个过程中,需要通过TransactionFactory对象,并且,还需要创建核心执行器Executor对象,之后通过这些对象来创建DefaultSqlSession对象,至此,SqlSession对象创建成功。

   之后,通过SqlSession对象来执行响应的 操作,如果执行成功,调用commit方法来提交事务;如果失败,调用rollback方法事务回滚。最后,调用close方法关闭session资源。以上,就是MyBatis的运行原理。

原文地址:https://www.cnblogs.com/wq-9/p/10246389.html