wuzi1112
一只废柴
采纳率37.5%
2017-07-24 14:45 阅读 1.7k

mybatis关联查询,查不出数据

1

resultMap映射
resultMap映射
主对象
子对象
孙对象
sql

求大神, 关联三层之后, 第三层的对象没有值, 只关联两层的话可以查出值

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

7条回答 默认 最新

  • u010001477 Nothing_katu 2017-07-25 01:20

    检查你material_purchase_order_item表的数据,是不是有?

    点赞 评论 复制链接分享
  • Jorker_jie Jorker_jie 2017-07-25 01:23

    会不会是 oi表和m表连接之后,m表没有id可以跟pic连接。 oi和m左连接,m表中所有id如果不是oi表中都有,那么oi表有些数据是没有的,而oi失去的这些数据恰好又是跟pic连接的数据。

    点赞 评论 复制链接分享
  • u014074697 张大教主 2017-07-25 02:43
    //可能情况:你oi和m表联合后的表中的记录中,不存在和pic.material_id相同的mid记录
    //可以测试一下,在oi和m连接后的结果集中查询和pic.material_id相同的记录,如果不存在,那么你的程序是没有任何问题的,说明库中本身不存在满足条件的数据
    //如果存在结果,那就是表间关联字段或数据不合理
    select * from where pic.material_id in
    (
        select  m.id  from material_purchase_order_item oi
        left join material m on oi.material_id=m.id
    )
    
    点赞 评论 复制链接分享
  • u014074697 张大教主 2017-07-25 02:44
    select * from material_picture pic where pic.material_id in
    (
            select  m.id  from material_purchase_order_item oi
            left join material m on oi.material_id=m.id
    )
    
    点赞 评论 复制链接分享
  • xuanzhangran 转角人生 2017-07-25 02:46

    前两张表可以查到值,只能说明前两张表有交集, 后两张表查出来数据 只能 说明后两张表有交集。但是连接第三张表查询不到。 说明三张表连在一起没有共同的交集 。也很正常。就好比 一与二表的交集是 4,5 二表与三表的交集是 7,8 但是一表二表三表的数据就没有交集

    点赞 评论 复制链接分享
  • luofangfu luofangfu 2017-07-25 02:48

    为什么第三层 你定义的是一个list呢?似乎有点不符合关联查询的逻辑。

    点赞 评论 复制链接分享
  • jingmowentong jingmowentong 2019-04-04 11:42

    断点查看一下,可能是有数据但是控制台没有显示而已

    点赞 评论 复制链接分享

相关推荐