之前Mapper都是类,为啥EmployeeMapper要写成接口?

之前Mapper都是类,为啥EmployeeMapper要写成接口?

http://img1.sycdn.imooc.com//climg/611c62dc09ace87e06200347.jpg

问题描述:

1、EmployeeMapper为什么要写成接口?

2、employee.xml中的namespace,也写的比user.xml长很多;

正在回答

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

1回答

同学你好,这是MyBatis框架的一种方式。也就是通过Mapper接口进行实现,在本节案例中,我们也会渐渐的转变为Mapper接口的方式。具体内容我们可以来看官网的说法:

http://img1.sycdn.imooc.com//climg/611ca07109f168a714180790.jpg

    ​上述方式中,由于namespace指定的是接口,相当于将SqlSession中分开了不同的空间,一个接口对应一个mapper。所以要知道接口就可以得到mapper对象。通过这个mapper而不是SqlSession进行增删查改。

如果配合Spring透过接口去管理mapper对象,那么我们在调用时就不需要再自己手动创建SqlSession,而是拿到对应的那个bean,直接调用即可。其余的内容都交给了框架整合包去做。

2、这两种引用方法都是可以的,如果在项目中该类(接口)是唯一的,则同学可以直接使用接口名进行引用,但如果不是唯一的,则就需要书写完整的命名空间。具体内容在上图中也有描述,同学可以详细查看一下。

祝学习愉快!

  • 灵杨Looney 提问者 #1

    👍​感谢慕小尤,提供了两个深层次的优点;

    答案补充(3-4视频,12分40秒)老师也解释了一点好处;

    1、【Mapper写成接口,可以不实现具体的方法】遵循单一功能原则,Mapper只负责数据交互;把业务逻辑都写到Service中,避免程序的耦合,提高可维护性;

    2021-08-18 16:55:04
  • 灵杨Looney 提问者 #2

    1f44d.png感谢慕小尤,提供了两个深层次的优点;

    答案补充:(3-4视频,12分40秒)老师也说明一个优点;

    1、【Mapper写成接口,可以不实现具体方法】遵循单一功能原则,Mapper只负责数据交互;把业务逻辑都放到Service中,避免程序的耦合,提高可维护性。

    2021-08-18 17:02:11
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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