关于resultMap的疑问

关于resultMap的疑问

老师,我想问一下在配置部门持久化操作对象接口的映射文件时,在配置select
  查询的时候:
    <select id="select" parameterType="String" resultMap="department">
        select * from department where sn=#{sn}
    </select>
  如果我们知道返回的类型和数据库中的一一对应,而且可以肯定不回有额外的
  属性的话,我们可以是否就返回 Departemtn这个实体对象而不去创建对应的结果集
  映射呢?这里之所以使用配置结果集映射是因为还不知道后面要不要再实体类中增加其他属性是吧?
  还有就是resultType可以用来返回这样的实体类对象把?
  resultType="Departemtn"
  resultMap除了返回结果集映射是否也能返回这样的实体类对象呢?
  resultMap="Departemtn"


正在回答

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

1回答

同学,你好!下面分别回答你的几个问题:

1、如果我们知道返回的类型和数据库中的一一对应,而且可以肯定不回有额外的
  属性的话,我们可以是否就返回 Departemtn这个实体对象而不去创建对应的结果集
  映射呢?

关于这个问题,可以返回Department实体对象,使用resultType返回即可

2、这里之所以使用配置结果集映射是因为还不知道后面要不要再实体类中增加其他属性是吧?

可以这么理解,主要因为查询出来的属性和实体类中的属性可能不对应,所以需要使用resultMap进行映射

3、resultMap除了返回结果集映射是否也能返回这样的实体类对象呢?
这个是不可以,会抛出异常,同学可以找代码尝试一下

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


  • jia_蛙 提问者 #1
    谢谢老师!
    2020-04-13 18:51:50
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

帮助反馈 APP下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

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