resultMap的值为什么不直接写User的类名呢?select的内容为什么不直接写*呢?

resultMap的值为什么不直接写User的类名呢?select的内容为什么不直接写*呢?

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

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

1回答
好帮手慕小尤 2023-02-19 10:45:52

同学你好,1、数据库中字段与User类中参数名可能会不一致,所以在xml中有进行映射,从而保证参数一致避免参数无法正确赋值没有数据。因已经进行映射,如下所示:所以在此时使用的是BaseResultMap。

https://img1.sycdn.imooc.com//climg/63f18bd30943c56109380410.jpg

2、同学想要使用*也是可以的,但因很多时候我们并不需要查询数据库中的全部字段,直接查全部字段会降低效率。同时很多字段的组合是经常被使用到的,所以将常用的字段单独那出来,在使用时直接引入就可以了。

https://img1.sycdn.imooc.com//climg/63f18cf9099c136010210263.jpg

祝学习愉快!

  • 提问者 王小east #1

    第一个了解了

    第二个,Base_Column_List里面也是表内所有字段,和*的执行效率是一样的吧。

    2023-02-19 11:09:21
  • 好帮手慕小尤 回复 提问者 王小east #2

    同学你好,两者差别不大,不过在sql优化时,一般会先将*修改为单独的字段。

    祝学习愉快!

    2023-02-19 11:20:48
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

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