mappers标签介绍
MyBatis 是基于 sql 映射配置的框架,sql 语句都写在 Mapper 配置文件中,当构建 SqlSession 类之后,就需要去读取 Mapper 配置文件中的 sql 配置。
而 mappers 标签就是用来配置需要加载的 sql 映射配置文件路径的。
配置方式
mappers 标签下有许多 mapper 标签,每一个 mapper 标签中配置的都是一个独立的映射配置文件的路径,配置方式有以下几种
1.接口所在包
package标签
,通过name
属性指定mapper接口
所在的包名 ,
此时对应的映射文件必须与接口位于同一路径下,并且名称相同
<mappers>
<!-- mapper接口所在的包名 -->
<package name="com.i.mapper"/>
</mappers>
2.相对路径配置
mapper标签,通过resource属性引入classpath路径的相对资源
<mappers>
<!-- 通过resource属性引入classpath路径的相对资源-->
<mapper resource="com/i/mapper/FlowerMapper.xml"/>
<mapper resource="com/i/mapper/StudentMapper.xml"/>
<mapper resource="com/i/mapper/TeacherMapper.xml"/>
</mappers>
3.类注册引入
mapper标签,通过class
属性指定mapper接口名称,
此时对应的映射文件必须与接口位于同一路径下,并且名称相同
<mappers>
<!-- 使用接口信息进行配置 -->
<mapper class="com.i.mapper.FlowerMapper"/>
<mapper class="com.i.mapper.StudentMapper"/>
<mapper class="com.i.mapper.TeacherMapper"/>
</mappers>
4.使用URL绝对路径方式引入(不用)
mapper标签,通过url引入网络资源或者本地磁盘资源
<mappers>
<mapper url="xml文件访问URL" />
<mapper url="file:///var/mappers/UserMapper.xml"/>
</mappers>
使用总结
只有配置了 mappers 信息后,MyBatis 才知道去哪里加载 Mapper 映射文件,
开发中,根据项目中 Mapper 的配置偏好,选择整合配置文件的配置方式