【Java_Spring】Day30 @Mapper注解声明接口

@Mapper 注解

@Mapper 注解是 MyBatis 框架中的注解,主要用于将一个接口标记为 MyBatis 的 Mapper 接口。该注解告诉 MyBatis 框架,这个接口中的方法与数据库的 SQL 操作相关,并且 MyBatis 将自动为这些方法生成实现代码。

主要功能

  1. Mapper接口标识

    • @Mapper 注解用于标记一个接口为 MyBatis 的 Mapper,这样 Spring 或 MyBatis 可以自动扫描并注册该接口为 Mapper,供依赖注入使用。
  2. 简化配置

    • 使用 @Mapper 注解可以省去在 MyBatis 配置文件中显式注册 Mapper 的步骤,不需要通过 XML 文件去声明 Mapper 接口,减少了配置的复杂性。
  3. 结合Spring

    • 在 Spring 项目中,@Mapper 注解通常与 Spring 的组件扫描机制结合使用,通过自动装配的方式,将 Mapper 接口与 MyBatis 的 SQL 映射关联起来。

使用示例

1. 在接口中使用 @Mapper 注解
package org.example.spring_mybatis.mapper;

import org.apache.ibatis.annotations.Mapper;
import org.example.spring_mybatis.pojo.User;

@Mapper
public interface UserMapper {
    int insert(User user);
}
2. 在 Spring 配置类中启用 Mapper 扫描

在 Spring 应用中,可以使用 @MapperScan 注解,指定要扫描的 Mapper 接口包路径。这样,即使没有 @Mapper 注解,MyBatis 也能自动扫描并注册 Mapper 接口。

package org.example.spring_mybatis.config;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Configuration;

@Configuration
@MapperScan("org.example.spring_mybatis.mapper")
public class MyBatisConfig {
    // MyBatis 配置
}

工作机制

  1. 接口注解标识

    • 当接口上加上 @Mapper 注解后,Spring 和 MyBatis 框架会识别该接口为 Mapper 接口,并在应用启动时自动生成其实现类。
  2. 自动装配

    • Spring 会自动装配 Mapper 接口,开发者可以通过依赖注入的方式使用这些接口,调用相关的数据库操作方法。
  3. SQL 映射

    • MyBatis 会根据接口中的方法名称和参数,找到对应的 SQL 映射文件或者注解,执行相应的 SQL 操作。

优点

  • 简化配置:通过 @Mapper 注解,无需在 XML 文件中手动配置 Mapper。
  • Spring 集成:与 Spring 集成时可以方便地使用依赖注入和自动装配机制。
  • 灵活性:结合注解或 XML,既保留了灵活的 SQL 控制,又简化了开发过程。

@Mapper 注解使得 MyBatis 更加易于与 Spring 框架集成,大大简化了持久层的开发。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值