根据您提供的流程图,以下是 MyBatis 核心工作原理的流程化解析,结合关键组件和执行步骤:
MyBatis 工作流程图解
分步解析
1. 初始化阶段
步骤 | 说明 |
---|---|
读取配置文件 | 加载 mybatis-config.xml ,解析数据源、事务管理器、全局设置等。 |
加载映射文件 | 解析 Mapper.xml 文件(如 Mapper1.xml 、Mapper2.xml ),将 <select> , <insert> 等标签转化为内存对象。 |
构建 SqlSessionFactory | 根据配置信息创建单例工厂(SqlSessionFactory ),用于生产 SqlSession 。 |
✅ 关键点:
- 所有 Mapper 文件中的 SQL 语句会被封装为
MappedStatement
对象(含 SQL 文本、输入/输出映射规则)。SqlSessionFactory
全局唯一,生命周期与应用一致。
2. 运行时阶段
步骤 | 说明 |
---|---|
创建 SqlSession | 通过工厂开启数据库会话(SqlSession ),每次请求创建一个新会话(非线程安全)。 |