@Mapper注解是什么作用

@Mapper注解是什么作用

3分43秒老师在StudentMapper接口的上面写了@Mapper和@Repository注解,说

加上上面这两个注解mapper接口就可以被spring 识别到,
请问之前的课程中讲过@Mapper注解吗?@Repository注解说明
当前类用于业务持久层,通常描述对应Dao类,
@Mapper注解一点印象也没有?


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,@Mapper注解的作用和所做的事情有:

a.将Mapper接口(如StudentMapper)交给Spring进行管理。

b.不需要写Mapper接口的xml映射文件。

c.为Mapper接口(如StudentMapper)生成一个实现类,让其他的类进行引用。

祝学习愉快!

    1. 在imooc-reader讲解中,@Resource注解注入bean的时候就可以做到为Mapper接口生成一个实现类了,这里再用@mapper不是重复么?

    2. @Repository不是也是将类交给spring ioc管理吗?这里既有@Repository也有@Mapper,会不会重复呀

    2022-06-15 00:23:35
  • 同学你好

    1、@Resource与@Mapper注解作用是不同的。

        1)@Resource主要是做依赖注入的,从容器中自动获取bean,@Resource默认按照byName进行装配。

        2)@Mapper是数据持久层注解,如果在接口类上添加了@Mapper,在编译之后会生成相应的接口实现类。

    2、@Repository与@Mapper注解作用也是不同的。

        1)@Mapper 是 Mybatis 的注解。@Repository 是 Spring 的注解,用于声明一个 Bean。

        2)如果只使用@Repository注解,需要写对应dao的mapper配置文件,所以通常@Mapper和@Repository配合使用。

        3)如果只使用@Mapper注解,在其他类中依赖注入,IDEA 会提示错误,但是不影响运行。如:

    http://img1.sycdn.imooc.com/climg/5f520b2d096d969506670216.jpghttp://img1.sycdn.imooc.com/climg/5f520b3d09a65f3906420196.jpg

    祝学习愉快~

    2022-06-15 10:39:51
  • @Mapper 注解的接口生成的内是直接加入了springIOC容器吗,为什么还需要添加@Repository注解进行添加到SpringIOC容器中,其它容器为什么还能够通过@Resource进行自动装配?

    2022-10-08 22:44:20
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师