mappers标签介绍
MyBatis 是基于 sql 映射配置的框架,sql 语句都写在 Mapper 配置文件中,当构建 SqlSession 类之后,就需要去读取 Mapper 配置文件中的 sql 配置。
而 mappers 标签就是用来配置需要加载的 sql 映射配置文件路径的。
配置方式
mappers 标签下有许多 mapper 标签,每一个 mapper 标签中配置的都是一个独立的映射配置文件的路径,配置方式有以下几种
1.配置成接口所在包
package标签
,通过name
属性指定mapper接口
所在的包名 ,
此时对应的映射文件必须与接口位于同一路径下,并且名称相同
<mappers>
<!-- mapper接口所在的包名 -->
<package name="com.yes.mapper"/>
</mappers>
2.相对路径配置
mapper标签,通过resource属性引入classpath路径的相对资源
<mappers>
<!-- 通过resource属性引入classpath路径的相对资源-->
<mapper resource="com/yes/mapper/BookMapper.xml"/>
</mappers>
3.类注册引入
mapper标签,通过class
属性指定mapper接口名称,
此时对应的映射文件必须与接口位于同一路径下,并且名称相同
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<!--别名,使用这个时候我们在写sql的mapper 中返回就可以直接写类名,不用写全限定名-->
<typeAliases>
<package name="com.yes.pojo" />
</typeAliases>
<mappers>
<mapper class="com.yes.mapper.BookMapper"></mapper>
</mappers>
</configuration>
使用总结
只有配置了 mappers 信息后,MyBatis 才知道去哪里加载 Mapper 映射文件,
开发中,根据项目中 Mapper 的配置偏好,选择整合配置文件的配置方式