mybatis collection 两表关联,主表不是主键的字段与从表关联问题 5C

用mybatis collection 做两表关联,其中主表中的某一个不是主键的字段与从表关联
先看数据库中查询的结果
图片说明
mapper.xml
图片说明
在主表实体中增加了private List examdetail;
sql 语句
图片说明
这样返回的结果不是从属结果,没有关联上.

3个回答

仔细观察你sql的结构
其实把你的sql简化 是这样:
select * from aa,bb where aa.userid=bb.tescherid
aa 与bb 相当于inner join
并没有主从一说,
要么你自己再加个关联
select * from aa left join where aa.userid=bb.tescherid

u010407061
u010407061 这样的sql语句我之前也写过,全连接、collection 都没有问题,唯一的区别就是之前成功的是主表主键与从表某键关联,而现在是主表的一个非主键和从表某键关联,差别就在这里
大约 3 年之前 回复
u010407061
u010407061 我现在的sql语句是全连接,我把它换成左连接也试过,依然不起作用,还是没有封装成复合结构
大约 3 年之前 回复

你的sql语句就不是查询关联表的查询语句啊,从表要用 left join关联进去,mybatis才会知道什么封装到哪里

u010407061
u010407061 这样的sql语句我之前也写过,全连接、collection 都没有问题,唯一的区别就是之前成功的是主表主键与从表某键关联,而现在是主表的一个非主键和从表某键关联,差别就在这里
大约 3 年之前 回复
u010407061
u010407061 我现在的sql语句是全连接,我把它换成左连接也试过,依然不起作用,还是没有封装成复合结构
大约 3 年之前 回复

collection 两表关联 应该是一对多,你的sql是多对多的关系

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问