Mybatis中的resultMap中的column属性

问题描述:

下午在练习mybatis中的一对多的映射的时候,遇到了一个问题,后来试着理解了一下,当然不知道对不对,等下周上课问下框架老师确定下!!!
数据库中有两个表,分别是用户表(user),订单表(orders),一个用户可以有多个订单,所以是一对多

两个表如下:
user:
image

orders:
image

user的mapper文件:

image

问题就出现在红色框框的位置,假如给查询返回的数据起别名的话,数据库返回的数据正常是两条控制台如下:
image

但是假如不起别名,直接映射的话:
就是这个样子,噗

image

控制台的输出结果如下:
image

正常返回:并且控制台的日志中的Total = 2,但是其中只有一个数据,很疑惑这一点!

期望哪位大神看到了能指点下!!!!!先磕一个了

个人猜测:

因为查询的结果中有两个同名的id,即user表中的id,orders表中的id,在通过数据库查询后返回数据也有两个id,进行映射的时候产生了歧义(但是有歧义为啥不报错,就像在传入参数有歧义时的报错),并且控制台打印的Total = 2,很是迷惑!!!,这就是编程的魅力嘛,啊啊啊啊!!

已解决:resultMap中column两个相同id

posted @ 2022-04-03 15:44  yfs1024  阅读(303)  评论(0)    收藏  举报