@Mapper、@MapperScan、@Repository详解

@Mapper、@MapperScan、@Repository详解

1、@Mapper注解

它可以在编译之后自动生成相应的接口实现类,不用再写如下图所示的mapper映射文件;换句话说就是可以直接在接口上写sql语句了。
在这里插入图片描述
用@Mapper直接在接口中写 ,编译时自动生成实现类,具体写法见下图。

在这里插入图片描述

2、@MapperScan

如果需要让多个接口都变成实现类,用@Mapper一个个添加太麻烦,这时我们在Springboot启动类添加@MapperScan,指定要扫描的mapper的包的路径,然后包下面的所有接口在编译之后都会生成相应的实现类,实现批量添加@Mapper注解。
根据百度结果,@Mapper = @MapperScan(自动扫描配置)+Repository(可省略)

简而言之,批量用@MapperScan,单个@Mapper。

3、@Repository

@Repository是spring提供的注解,放在上能够将该注册成Bean,和@Controller作用一样。

@Repository也可以标注在dao层接口上,放在接口上本来就没有意义,spring中在mapper接口上写一个@Repository注解,只是为了标识,要想真正是这个接口被扫描,必须:

  • ssm框架使用@MapperScannerConfigurer包扫描,生成对应的bean,
  • 微服务框架的启动类使用@MapperScan包扫描,生成对应的bean
    注:@Repository标注在接口上可以直接省略不写。

加了@MapperScan就相当于给包中的接口都加上了@Mapper,同时@Repository还有消除“注入”的错误提示的作用。

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值