iBatis数据库字段映射到Java对象。

数据库执行完SQL后会返回执行结果,iBatis如何将查询出来的记录设置到account对象中呢?

和ParameterMap类似,填充返回信息需要的资源都已经包含在ResultMap中。当有了保存返回结果的ResultSet对象时,只需把列名映射到account对象的对应属性中。这个过程大体如下。

根据在ResultMap中定义的ResultClass创建返回对象,这里就是account对象。获取这个对象的所有可写的(也就是setter()方法的)属性数组。接着根据返回ResultSet中的列名去匹配前面的属性数组,把匹配结果构造成一个集合(resultMappingList),然后选择DataExchange类型、AccessPlan类型为后面真正的数据交换提供支持。根据resultMappingLIst集合从ResultSet中取出列对应的值,构成值数组(columnValues),这个数组的顺序就是在SQL中对应列名的顺序。最后把columnValues值调用account对象的属性的setter方法设置到对象中。这个过程可以用如下图所示的时序图来表示。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值