我们的sql映射文件需要在mybatis全局配置文件中注册。我们使用mappers标签来进行注册。
mapper:注册一个sql映射
注册配置文件:
resource:引用类路径下的sql映射文件 mybatis/mapper/EmployeeMapper.xml
url:引用网络路径或者磁盘路径下的sql映射文件
注册接口:
class:引用(注册)接口,
1.有sql映射文件,映射文件名必须和接口同名,并且放在与接口同一目录下;
2.没有sql映射文件,所有的sql都是利用注解写在接口上。
推荐:
比较重要的,复杂的Dao接口我们来写映射文件
不重要,简单的Dao接口为了开发快速可以使用注解
示例:将sql映射文件EmployeeMapper.xml注册到mybatis全局配置文件中。
<mappers>
<mapper resource="mybatis/mapper/EmployeeMapper.xml"/>
</mappers>
mybatis也可以引用接口,使用注解的方式在方法上完成数据库相关操作。
例如
- 在dao包下创建一个接口EmployeeMapperAnnotation.java,在类中创建获取员工信息的方法,使用注解完成sql查询。
public interface EmployeeMapperAnnotation{
@Select(" select * from tbl_employee where id = #{id}")
public Employee getEmpById(Integer id);
}
- 在mybatis配置文件中引入接口
<mappers>
<mapper class="com.fzl.mybatis.dao.EmployeeMapperAnno"></mapper>
</mappers>
- 如果有多个dao类,可以进行批量处理,如下,将dao包下的所有类都注册了。
<mappers>
<!-- 批量注册-->
<package name="com.fzl.mybatis.dao"/>
</mappers>
- 如果是注册映射文件,使用也可以使用package来进行批量注册,但是会产生一个问题;因为我们的dao接口和mapper.xml映射文件放在不同的包下,因此批量处理时会找不到对应的sql映射文件,这时候我们有两种解决办法:
(1) 将接口对应的sql映射文件放到和接口相同的包中。

(2)将存放sql映射文件的包名命名为和存到dao接口的包名一样 。
批量注册sql映射文件代码(其中存放接口和sql映射文件的包名都是com.fzl.mybatis.dao):
<package name="com.fzl.mybatis.dao"/>
博客介绍了MyBatis中SQL映射文件在全局配置文件的注册方法,还提及可引用接口并用注解完成数据库操作。同时说明了多个dao类的批量处理方式,以及批量注册映射文件时可能出现的问题及两种解决办法。
1084

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



