0
点赞
收藏
分享

微信扫一扫

@Mapper和@Repository区别

沉浸在自己的世界里 2022-04-01 阅读 52

@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对象时的错误
在这里插入图片描述

举报

相关推荐

0 条评论