对象关系映射

该部分讲述了 resultMap 的高级查询结果映射。

包括:多表关联查询,嵌套查询,延迟查询。

多对一:

嵌套结果:

这里的一对一 是从 数据关系上看的,因为 一条日志只对应一个用户。从逻辑上看,这里也是多对一的关系,因为多条日志 会对应 一个用户。

这种方式 叫做 嵌套结果。也就是 Mapper方法对应的sql语句中 使用 join, 只需要一句sql语句就就完了。 

嵌套查询:

嵌套查询 与 嵌套结果的区别是:

在上图执行过程中,先执行语句 得到user 数据,在根据 user 的 id查询userLog数据。

嵌套结果只执行一次sql 语句, 嵌套查询执行了 2次语句。

两者使用场景:

两者的执行方式不同,决定了两者的使用场景不同。

例如在分页中,我们limit 前5条数据,在嵌套结果中,前5条数据对应 UserLog 的前5条数据。而在嵌套查询中,在获取user 数据中 limit 5 条数据,结果中是 前5个用户的日志数据。

一对多

嵌套结果:

嵌套查询:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值