mybatis系列-foreach 解析
💡
原文中文,约14200字,阅读约需34分钟。
📝
内容提要
本文介绍了 MyBatis 解析配置文件的实现过程,包括解析 mappers 和 SQL 语句。apply 方法通过 evaluator 对集合表达式进行求值,并将元素值替换到 SQL 语句中,最终通过 executor 执行 SQL 语句。
🎯
关键要点
- MyBatis 解析配置文件的实现过程包括解析 mappers 和 SQL 语句。
- 在 XMLConfigBuilder 中通过 mapperElement 方法解析 mappers。
- mapperElement 方法处理 package、resource、url 和 class 属性。
- parse 方法用于解析 mapper 的配置,确保 namespace 不为空。
- buildStatementFromContext 方法根据数据库 ID 构建 SQL 语句。
- parseScriptNode 方法解析 SQL 语句,支持动态和静态 SQL。
- handleNode 方法处理 SQL 语句中的动态标签。
- DynamicContext 用于在执行时处理动态 SQL 的上下文。
- foreach 逻辑用于处理集合类型的 SQL 语句,支持动态参数替换。
- 最终通过 executor 执行 SQL 语句,替换参数并返回结果。
➡️