Javamybatis

MyBatis | 详解MyBatis的运行流程

2019-12-13  本文已影响0人  一颗白菜_

一、MyBatis的运行流程

1、获取SqlSessionFactory对象

根据配置文件创建SqlSessionFactory对象,解析全局配置文件和sql映射文件。最后创建的对象包含了一个Configuration,其中Configuration封装了所有配置文件的详细信息。
总结来说就是,把配置文件的信息解析并保存在Configuration对象中,返回包含了ConfigurationDefaultSqlSession对象。
详细过程可看图1所示的时序图:

图1:创建SqlSessionFactory的时序图
Configuration对象中有MappedStatementMappedStatement代表一个增删改查的详细信息。

2、获取SqlSession对象

会返回DefaultSqlSession对象,其是SqlSession的实现类。DefaultSqlSession对象包含了ExecutorConfiguration对象,Executor对象会在这一步被创建。
详细过程可看图2所示的时序图:

图2:获取SqlSession对象的时序图

3、获取接口的代理对象

使用MapperProxyFactory创建一个MapperProxy代理对象。返回的接口代理对象包含了SqlSession对象。
详细过程可看图3所示的时序图:

图3:获取接口代理对象的时序图

4、执行增删改查

图4:执行增删改查时的时序图

对于产生的几个对象的作用:

执行增删改查流程总结如下:


图5:执行增删改查流程总结

二、总结

上一篇 下一篇

猜你喜欢

热点阅读