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

来源:4-1 SQL传参

AbelZephyr

2021-02-06 09:13:40


相关截图:

http://img.mukewang.com/climg/601ded3c0821934d11520864.jpg

写回答

2回答

好帮手慕小班

2021-02-08

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

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

http://img.mukewang.com/climg/6020a9bb09e0015806310251.jpg

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

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

祝学习愉快!

0

好帮手慕小班

2021-02-06

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

http://img.mukewang.com/climg/601e09de0996870706920210.jpg

底层中的调用

http://img.mukewang.com/climg/601e08f6096eeb0506710125.jpg

http://img.mukewang.com/climg/601e096509cfc70208430594.jpg


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

祝学习愉快!

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

h021-02-07
共1条回复

0 学习 · 16556 问题

查看课程