@Repository 与 @Mapper的区别

  • @Repository

    1. @Repository 是Spring的注解,本质上就是@Component和@Controller一样起到标志的作用,声明bean,放入spring容器中

    2. @Repository 在mapper接口上,只是为了标识,是dao层的bean

    3. 在使用Mybatis/MybatisPlus的时候,mp需要动态的生成bean,所以只把@Repository标在mapper接口上mp识别不了

      所以,通常会在mp的配置类上加上@MapperScan去扫描,或者是在启动类上加上@MapperScan去扫描。去实现动态代理

      如果不加会报错:

      No qualifying bean of type 'com.atguigu.ssyx.acl.mapper.PermissionMapper' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

  • @Mapper

    1. @Mapper是mybatis的注解,mybatis可以直接通过@Mapper找到他要代理的mapper,在编译时生成动态代理类,与数据库进行交互

    2. 可以在启动类上 加上@MapperScan去扫描 如此 就不用再Mapper接口上 写@Mapper,也能实现代理

总结:

  1. @Repository要配合@MapperScan一起使用 ---是spring的注解

  2. @Mapper可以直接使用 --- 是mybatis的注解 配合@MapperScan 就不用写@Mapper注解了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值