MyBatis 的整个运行流程结构,紧紧围绕着配置文件 MyBatis-config.xml 与 SQL 映射文件 Mapper.xml 文件展开。首先 SqlSessionFactory 会话工厂会通过 io 包下的 Resources 资源信息加载对象获取 MyBatis-config.xml 配置文件信息,然后产生可以与数据库进行交互的 SqlSession 会话实例类。会话实例 SqlSession 可以根据 Mapper.xml 配置文件中的 SQL 配置,去执行相应的增删改查操作。而在 SqlSession 类中,是通过执行器 Executor 对数据库进行操作。执行器与数据库交互依靠的是底层封装对象 Mapped Statement ,其封装了从 Mapper 文件中读取的包括 SQL 语句、输入参数类型、输出结果类型的信息。通过执行器 Executor 与 Mapped Statement 的结合, MyBatis 就实现了与数据库进行交互的功能。