mybatis注册映射文件

本文介绍了MyBatis中注册映射文件的多种方式,包括直接注册XML映射文件、通过接口绑定XML文件以及批量注册接口等。还展示了如何使用注解的方式替代XML配置。

## 注册映射文件 ##

  1. 直接注册映射xml文件
<mappers>
        <mapper resource="com/mapper/EmployeeMapper.xml"/>
  </mappers>

或者

<mappers>  
        <mapper url="file:///var/mappers/BlogMapper.xml"/>  </mappers>

resource是在类路径下,url是在磁盘路径或者网络路径

注册接口

<mappers>
        <mapper class="com.dao.EmployeeMapper"/>
 </mappers>写代码片
  1. class里面写明类的全路径
  2. 为了使mybatis知道该接口和哪一个xml文件绑定,需要把xml文件和接口文件放在一个文件夹下,并且文件名相同

    注册接口的另一种方法

<mappers>
        <mapper class="com.dao.EmployeeMapper"/>
 </mappers>
  1. 这种情况类似于将xml文件和接口合并在一起。
  2. 不需要配置xml文件,但是需要在接口的方法上标明相应的sql注解
public interface EmployeeMapper {

    @Select(" select last_name as lastName, email,id,gender from employee where id = #{id} ")
    public Employee getEmployeeById(int id);

}

这种情况比较适合于简单sql语句。

批量注册

<mappers>
        <package name="com.dao"/>
 </mappers>
  1. 这样mybatis就会扫描相应包下面的文件,接口注解式没有问题
  2. 但接口+xml式需要接口名和xml文件名相同
### 配置 MyBatis 映射文件路径 为了配置 MyBatis 中的映射文件路径,通常有几种方法来指定这些资源的位置。一种常见的方式是在 Spring Boot 应用程序中通过 `application.properties` 文件或 XML 配置来进行定义。 #### 方法一:基于 application.properties 设置 Mapper 路径 可以在项目的 `src/main/resources/application.properties` 文件内添加如下属性: ```properties mybatis.mapper-locations=classpath:mapper/*.xml ``` 这行配置指定了所有 `.xml` 后缀的映射器文件位于类路径下的 `mapper/` 目录下[^3]。 对于更复杂的项目结构,可能还需要调整扫描实体接口所在的包位置。例如,在上述提到的例子中,如果希望自定义通用 Mapper 接口,则应确保它们被放置在一个特定的基础包里,并告知 MyBatis 哪些地方去查找这些接口: ```java @Configuration @MapperScan(basePackages = "org.springboot.sample.dao", sqlSessionTemplateRef = "defaultSqlSessionTemplate") public class MyBatisConfig { } ``` 这段代码展示了如何利用 `@MapperScan` 注解来指示哪些 Java 包应该被用来寻找并注册为 Bean 的 Mapper 类[^1]。 #### 方法二:XML 方式的全局配置 另一种方式是采用 XML 形式的全局配置文件 (`mybatis-config.xml`) 来声明映射文件的位置。此文件一般也存放在 `resources` 文件夹下面。以下是部分示例片段: ```xml <configuration> <!-- ... --> <mappers> <package name="com.example.mappers"/> <!-- 或者单独列出每一个 xml 文件 --> <!--<mapper resource="com/example/mappers/UserMapper.xml"/>--> </mappers> </configuration> ``` 这里 `<package>` 标签用于一次性加载整个包内的所有 Mapper 接口;而 `<mapper>` 可以精确指向单个具体的 XML 映射文档[^2]。 当应用程序启动时,MyBatis 将自动读取以上设定好的路径中的映射文件,并将其关联至相应的 DAO 层接口上以便后续操作数据库表数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值