@Mapper和@Repository区别

本文详细介绍了Mybatis的@Mapper和Spring的@Repository注解的区别。@Mapper是Mybatis中的注解,无需额外配置扫描,通过mapper.xml与类匹配。而@Repository是Spring注解,需要在启动类指定扫描路径。不配置扫描,会导致Bean注入失败。在IDEA中,@Repository能避免编译时错误。
摘要由CSDN通过智能技术生成

@Mapper和@Repository区别

相同點:两者都是用在Dao上,功能其实差不多,细微区别如下;

不同点

@Mapper是Mybatis自带的一个注解。不需要在spring配置中设置扫描地址,通过mapper.xml里面的namespace属性对应相关的mapper类,spring将动态的生成Bean后注入到ServiceImpl中。

@Repository是Spring提供的一个注解。使用后,需要在启动类上加@MapperScan(***)来表明Mapper类的位置,否则扫描不到 。

其实就是@Repository多了一个配置扫描地址的步骤mapperScan。

如果不配扫描地址,就会报错:

 Field userMapper in com.liu.service.UserServiceImpl required a bean of type 'com.liu.mapper.UserMapper' that could not be found.

找不到bean,这是因为项目启动的时候没有去扫描使用@Repository注解的文件,所以使用@Repository需要配置扫描地址。
但在idea中,使用@Repository可以消除在业务层中注入mapper对象时的错误
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

11_1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值