mybatis一对多再多对多查询

需求是这样的,一张试卷对应多个班级,每个班级对应多个学生mybatis一对多再多对多查询_第1张图片,现在需要根据试卷id查出这个试卷对应的班级及班级下的学生;数据库直接查询可以查出某一试卷下有两个班级且两个班级有很多学生,但是service调用mybaits查询出来的对象却不对,求看下要怎么写,谢谢!
这是我的映射关系和sql:
mybatis一对多再多对多查询_第2张图片mybatis一对多再多对多查询_第3张图片
pojo对象:
mybatis一对多再多对多查询_第4张图片mybatis一对多再多对多查询_第5张图片mybatis一对多再多对多查询_第6张图片
dao和service:
mybatis一对多再多对多查询_第7张图片
service查询结果:
mybatis一对多再多对多查询_第8张图片
数据库直接查询结果:
mybatis一对多再多对多查询_第9张图片

问题点数:60分

0 0

引用 ・ 举报 ・ 管理

CSDN推荐

CSDN今日推荐

  •  mybatis用注解实现 一对一,一对多,多对多哟
  •  mybatis 实现关联查询的一对多和多对多查询
  •  mybatis实现多表一对一,一对多,多对多关联查询
  •  mybatis中多对多一对多实例,maven+springMvc+mybatis
  •  【MyBatis框架点滴】——MyBatis一对多查询
  •  关于Mybatis的多对一和一对多查询
  •  java的orm框架 mybatis 多对多 一对多关系的关联映射和查询--简单易懂,理解才是王道
  •  Mybatis的一对多,多对一以及延迟加载
  •  mybatis 实现一对一,一对多,多对多关联查询 小结
  •  写的数据结构1对多再对多的形式结构

mybatis一对多再多对多查询_第10张图片

qq_20533371

Bbs1

回复于 2017-04-09 13:22:15 #1 得分:0

大家来看看呀

0 0

引用 ・ 举报 ・ 管理

mybatis一对多再多对多查询_第11张图片

qq_20533371

Bbs1

回复于 2017-04-10 09:09:02 #2 得分:0

需要的结构是这样的
{
  "exam"                     : {
    "id"                       : 392,
    "exam_id"                  : "153acbe5-4246-4a5c-864d-4ecb62aa1e21",
    "exam_name"                : "高中高二化学常规测验0407",
    "examPlacementTestList"    : [
      {
        "id"                       : 258,
        "pmId"                     : "810ffc8f-99e0-4fa7-a414-d1f436474de8",
        "examId"                   : "153acbe5-4246-4a5c-864d-4ecb62aa1e21",
        "classId"                  : "039f08c540114385adef6f9d8d94692b",
        "className"                : "高一(2)班",
        "examPlacementTestRelList" : [
          {
            "id"                       : 2781,
            "pm_id"                    : "810ffc8f-99e0-4fa7-a414-d1f436474de8",
            "person_id"                : "3f0ebff85d7849b3bc7c98dfff395a60",
            "name"                     : "程三",
            "student_code"             : "10000003"
          },
          {
            "id"                       : 2782,
            "pm_id"                    : "810ffc8f-99e0-4fa7-a414-d1f436474de8",
            "person_id"                : "6f899bdabafb4a3f84faf931ef75fb71",
            "name"                     : "方强",
            "student_code"             : "10000004"
          }
        ]
      },
      {
        "id"                       : 259,
        "pmId"                     : "7c2fea18-e673-46d9-a598-73dc18040437",
        "examId"                   : "153acbe5-4246-4a5c-864d-4ecb62aa1e21",
        "classId"                  : "b432e16428b84505950f1734465d4aa1",
        "className"                : "高一(1)班",
        "examPlacementTestRelList" : [
          {
            "id"                       : 2790,
            "pm_id"                    : "7c2fea18-e673-46d9-a598-73dc18040437",
            "person_id"                : "ffb952206bbe4c0eb0b1acad261b52b0",
            "name"                     : "陈正",
            "student_code"             : "00000001"
          },
          {
            "id"                       : 2791,
            "pm_id"                    : "7c2fea18-e673-46d9-a598-73dc18040437",
            "person_id"                : "8ca5c02efed7480abfe6b886b45ac73c",
            "name"                     : "顾晓双",
            "student_code"             : "00000002"
          }
        ]
      }
    ]
  }
}

0 0

引用 ・ 举报 ・ 管理

mybatis一对多再多对多查询_第12张图片

Epopeee

Bbs1

回复于 2018-05-17 15:04:44 #3 得分:0

应该是映射没关联好,三个表连接查的时候,id列不知道哪个往哪里装了,你把SQL改一下,三张表每张表查的时候,各自的id列起个别名,然后映射配置的column一一对应,应该就可以了

你可能感兴趣的:(mybatis)