该系列文章针对 Mybatis 3.5.1 版本
<mappers> 标签在 mybatis-config.xml 中的配置案例如下:
<mappers> 标签中配置的是我们定义的 xml 文件或者mapper class ,配置的方式有两种
1、通过子标签 <mapper> 进行单个 xml 文件的配置
2、通过子标签 <package> 配置扫描包路径
针对 <mappers> 标签,Mybatis 从大方面来说主要加载两个模块的数据
1、XML 文件
2、 mapper class 接口文件
通过案例,来简单看一下这两部分包含的内容。
下图是一个 XML 示例,
如图所示,一个 xml 文件包括但不限于:
结果集映射配置
SQL 执行脚本
SQL 模板定义
缓存配置等
下图是一个 Mapper Class 文件示例
如上图所示,该 class 文件是一个 接口类。
在 class 中定义了多个方法调用,而这些方法关联的就是 SQL 语句。
在 class 中有两种 SQL 定义的方式
1、使用 @Select 等注解的方式进行 SQL 语句和方法的绑定
2、通过方法名和 xml 文件中的 SQL 语句进行绑定。
XML 和 class 通过 class 的全类名所对应的字符串进行绑定,如下图:
在 XML 中,会以 class 的全类名作为 XML 的唯一标识,也叫做命名空间,而 XML 和 class 就通过 class 的全类名进行关联绑定。
同理,在 class 文件中,方法的定义绑定就是 SQL 语句,在 class 文件中的方法定义有两种 SQL 绑定方式
1、通过 @Select 等注解的方式绑定 SQL,如下图:
2、将 class 的方法和 XML 中的 SQL 语句进行绑定,通过方法名进行绑定,如下图
Mybatis 加载 mybatis-config.xml 中的 <mappers> 标签,主要解析加载两大块内容:XML 和 class 文件
XML 和 Class 文件通过 class 的全类名,进行关联。
同时 class 中的方法定义会与 XML 中定义的 SQL 语句通过方法名进行关联。
以上两大内容组成了调用 class 接口,实现 SQL 操作数据库的基础数据。 具体的操作流程将在下面的文章展开讨论。
文章实时更新,关注公众号