一、前言
定义SQL映射语句,首先我们要告诉MyBatis去哪里找到这些语句,Java在自动查找这方面没有提供一个很好的方法,所以最佳方式是告诉MyBatis到哪里去查找映射文件,你可以使用相对路径的资源引用或者完全限定资源定位符或者类名或者包名。
二、案例
配置方式有四种:
- 相对路径方式 ;
- 全路径方式 ;
- 使用class方式;
- 批量注册
下面分别介绍这四种方式如何配置的?
①相对路径方式
<mapper resource="UserMapper.xml" />resource方式引用类路径下面的sql映射文件
②全路径方式
<mappers>
<!-- <mapper resource="UserMapper.xml" /> -->
<mapper url="file:///C:/Users/think/Desktop/UserMapper.xml"/>
</mappers>url方式引用网络路径或者磁盘路径下面的SQL映射文件
③class方式,引用(注册)接口
这种方式有两种情况:
一种是有sql映射文件,映射文件必须与接口同名,并且和接口放在同一目录下面
二种是没有sql映射文件,所有的sql都是利用注解写在接口上,基于注解的方式
下面我们介绍第一种方式:
修改mybatis-config.xml核心配置文件
<mappers>
<!-- <mapper resource="UserMapper.xml" /> -->
<!-- <mapper url="file:///C:/Users/think/Desktop/UserMapper.xml"/> -->
<mapper class="com.queen.mybatis.mapper.UserMapper"/>
</mappers>将UserMapper.xml文件拷贝到com.queen.mybatis.mapper路径下面

我们使用这种方式,就必须让UserMapper.xml与UserMapper.java在同一目录下而且文件名要一样,这样才能让MyBatis认为我们的实现文件就是UserMapper.xml
接着我们介绍第二种方式
定义一个接口,在方法上写上SQL语句
public interface UserMapper {
@Select("select id, loginId, userName, role, note from t_user where id = #{id}")
public User findUserById(int id);
}修改mybatis-config.xml文件
<mappers>
<!-- <mapper resource="UserMapper.xml" /> -->
<!-- <mapper url="file:///C:/Users/think/Desktop/UserMapper.xml"/> -->
<!-- <mapper class="com.queen.mybatis.mapper.UserMapper"/> -->
<mapper class="com.queen.mybatis.mapper.UserMapper"/>
</mappers>④批量注册
批量注册比较简单,但是也要注意就是有映射文件的这种一定要与之对应的接口java文件放在同一目录下面,否则会报错
<mappers>
<!-- <mapper resource="UserMapper.xml" /> -->
<!-- <mapper url="file:///C:/Users/think/Desktop/UserMapper.xml"/> -->
<!-- <mapper class="com.queen.mybatis.mapper.UserMapper"/> -->
<!-- <mapper class="com.queen.mybatis.mapper.UserMapperAnnotation"/> -->
<package name="com.queen.mybatis.mapper"/>
</mappers>=======欢迎大家拍砖,小手一抖,多多点赞哟!=======
版权声明:本文为博主原创文章,允许转载,但转载必须标明出处。

本文介绍了MyBatis中配置SQL映射语句的四种方式:相对路径方式、全路径方式、Class方式以及批量注册方式,并详细解释了每种方式的具体配置方法。

被折叠的 条评论
为什么被折叠?



