mybatis设计2-流程

启动流程

mybatis的启动流程可以归结为Mapper的初始化。比如说PersonMapper接口初始化后,会变成一个可以使用的实例引用。

  • MyClient 调用 SqlSessionFactoryBuilder的build方法
  • SqlSessionFactoryBuilder调用new XMLConfigBuilder.parse,然后用返回值Configuration去new DefaultSqlSessionFactory。
  • XMLConfigBuilder.parse会处理各种配置信息,组件Configuration对象。
  • 有了DefaultSqlSessionFactory后可以openSession。openSession里面会new DefaultSqlSession
  • DefaultSqlSession需要三个参数,分别是configuration,executor,autoCommit| configuration是上面来的。executor是调用configuration.newExecutor(Transaction, ExecutorType);
  • 到此便获取了SqlSession(DefaultSqlSession);
  • 然后调用getMapper,如上DefaultSqlSession的三个参数中有configuration,getMapper的时候,也是从configuration中获取Mapper.获取的Mapper实例是

调用流程

mybatis的调用可以归结为Mapper的方法调用。

你可能感兴趣的:(mybatis设计2-流程)