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的运行原理。
个人学习笔记,记录日常学习,便于查阅及加深,仅为方便个人使用。