[Mybatis]-[基础支持层]-mappers标签中包含了那些内容

it2023-02-03  57

该系列文章针对 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 示例,

如图所示,一个 xml 文件包括但不限于:

结果集映射配置

SQL 执行脚本

SQL 模板定义

缓存配置等

二、Mapper class 文件

下图是一个 Mapper Class 文件示例

如上图所示,该 class 文件是一个 接口类。

在 class 中定义了多个方法调用,而这些方法关联的就是 SQL 语句。

在 class 中有两种 SQL 定义的方式

1、使用 @Select 等注解的方式进行 SQL 语句和方法的绑定

2、通过方法名和 xml 文件中的 SQL 语句进行绑定。

三、XML 文件和 class 文件如何绑定关系

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 操作数据库的基础数据。 具体的操作流程将在下面的文章展开讨论。


文章实时更新,关注公众号

 

最新回复(0)