SqlSession.selectOne()明明放回的是一个抽象类,为什么会是Goods的实体类呢

SqlSession.selectOne()明明放回的是一个抽象类,为什么会是Goods的实体类呢

正在回答 回答被采纳积分+1

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

2回答
好帮手慕小班 2021-02-08 11:13:41

同学你好,非常抱歉之前没有正确理解同学的意思,这里同学可以这样理解:

    在selectOne方法的执行中会默认调用底层DefaultSqlSession中的selectOne实现,这个方法的返回值是泛型。

http://img1.sycdn.imooc.com//climg/6020a9bb09e0015806310251.jpg

如上所示,在底层调用中,会根据传入参数获取到对应泛型的响应值 ,通过<T>声明返回值定义一个泛型 T  

selectList中,根据传入参数获取对应泛型的响应值,所以最后得到的就是实际的Goods类。

祝学习愉快!

好帮手慕小班 2021-02-06 11:16:16

同学你好,这里的session.selectOne会调用默认的DefaultSqlSession中的selectOne,比如:

http://img1.sycdn.imooc.com//climg/601e09de0996870706920210.jpg

底层中的调用

http://img1.sycdn.imooc.com//climg/601e08f6096eeb0506710125.jpg

http://img1.sycdn.imooc.com//climg/601e096509cfc70208430594.jpg


如上所示,在底层中会去调用实现类中重写后的selectOne方法,并根据传入的参数返回具体的响应内容。

祝学习愉快!

  • 提问者 AbelZephyr #1

    老师,可能我的问题没有写清楚,我问的意思是为什么返回的是Goods实体类对象

    2021-02-07 21:37:49
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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