在定义SQL映射语句之前,我们需要告诉MyBatis到哪里去找到这些语句,因此我们需要在配置文件中告诉MyBatis到哪里去寻找映射文件。可以使用相对于类路径的资源引用,或完全限定资源定位符(包括file:///的URL),或类名和包名。
已知目录中,com.xliu.dao包中有:接口UserMapper, UserMapper.xml; 配置文件config.xml在resources目录下。
使用相对于类路径的资源引用(推荐)
1 | <mappers> |
每一个Mapper.xml都需要在Mybatis核心配置文件中注册!
使用完全限定资源定位符(URL)
1 | <mappers> |
注意点:
- 接口和Mapper配置文件必须同名
- 接口和Mapper配置文件必须在同一包下
将包内的映射器接口是选全部注册为映射器
1
2
3<mappers>
<package name="com.xliu.dao"/>
</mappers>
注意点:
- 接口和Mapper配置文件必须同名
- 接口和Mapper配置文件必须在同一包下
更新
如果SQL语句写在XML文件里,则使用<mapper resource="com/xliu/dao/UserMapper.xml"/>
,如果是用注解实现,例如TeacherMapper.java(接口):1
2
3
4public interface TeacherMapper {
@Select("select * from teacher where id=#{tid}")
Teacher getTeacher(@Param("tid") int id);
}
那么使用<mapper class="com.xliu.dao.TeacherMapper"/>