@Mapper和@Repository的区别
@Mapper和@Repository的区别1.相同点@Mapper和@Repository都是作用在dao层接口,使得其生成代理对象bean,交给spring 容器管理2.不同点@Mapper不需要配置扫描地址,可以单独使用,如果有多个mapper文件的话,可以在项目启动类中加入@MapperScan(“mapper文件所在包”),这样就不需要每个mapper文件都加@Mapper注解了@Rep
·
@Mapper和@Repository的区别
1.相同点
@Mapper和@Repository都是作用在dao层接口,使得其生成代理对象bean,交给spring 容器管理
对于mybatis来说,都可以不用写mapper.xml文件
2.不同点
@Mapper不需要配置扫描地址,可以单独使用,如果有多个mapper文件的话,可以在项目启动类中加入@MapperScan(“mapper文件所在包”),这样就不需要每个mapper文件都加@Mapper注解了
@Repository不可以单独使用,否则会报如下错误
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对象时的错误,如下图所示
更多推荐
已为社区贡献3条内容
所有评论(0)