前言
什么是 MyBatis?
MyBatis 是一款优秀的持久层框架,它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可以通过简单的 XML 或注解来配置和映射原始类型、接口和 Java POJO(Plain Old Java Objects,普通老式 Java 对象)为数据库中的记录。
上边这段话是引用自mybatis的官网,使用过mybatis的同学不难发现,我们一般情况下都需要借助xml文件,来帮助我们完成sql语句的拼装(如果使用mybatis-plus,涉及到连表查询,同样需要书写xml)和一些结果集的映射
所以不难看出xml文件,是mybatis中不可获取的一部分,所以解析xml对于mybatis框架同样重要。这篇博客就来总结一下,mybatis是如果进行xml的解析的。
xml的解析准备
在进行xml解析mapper.xml之前,mybatis还需要进行一些准备工作。Mybatis文档的入门章节,最开始就提到了SqlSessionFactory这个类。我们一起的配置工作也是从这个类开始的。
每个基于 MyBatis 的应用都是以一个 SqlSessionFactory 的实例为核心的。SqlSessionFactory 的实例可以通过 SqlSessionFactoryBuilder 获得。而 SqlSessionFactoryBuilder 则可以从 XML 配置文件或一个预先配置的 Configuration 实例来构建出 SqlSessionFactory 实例。
下边这张图就是sqlSessionFactory创