@Mapper是Mybatis的注解,是用来说明这个是一个Mapper,对应的xxxMapper.xml就是来实现这个Mapper,你改成了@repository,使用的是Spring的Bean注解,你觉得呢?

@Mappler是mybatis注解,mybatis运行时需要能找到到mapper文件,然后运行时构建代理类来完成功能,和Spring没有关系。你应该用@MapperScan来扫描mapper接口,让mybatis能找倒这些接口。然后Spring的@ComponetScan也要扫描这些接口,这样Spring才能管理这些mybatis生成的代理类。
@Repository是Spring的注解,而且注解放在接口上也没用也没有意义,

总结 注解不能放在接口上 mapper的注解可以 mapper的注解有两种 一种是@mapper注解 一种是在启动类加mapper扫描包 @repository是spring实现的注解 但是这个注解不能用于接口上面

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐