Mybatis中的resultMap中的column属性
问题描述:
下午在练习mybatis中的一对多的映射的时候,遇到了一个问题,后来试着理解了一下,当然不知道对不对,等下周上课问下框架老师确定下!!!
数据库中有两个表,分别是用户表(user),订单表(orders),一个用户可以有多个订单,所以是一对多
两个表如下:
user:
orders:
user的mapper文件:
问题就出现在红色框框的位置,假如给查询返回的数据起别名的话,数据库返回的数据正常是两条控制台如下:
但是假如不起别名,直接映射的话:
就是这个样子,噗
控制台的输出结果如下:
正常返回:并且控制台的日志中的Total = 2,但是其中只有一个数据,很疑惑这一点!
期望哪位大神看到了能指点下!!!!!先磕一个了
个人猜测:
因为查询的结果中有两个同名的id,即user表中的id,orders表中的id,在通过数据库查询后返回数据也有两个id,进行映射的时候产生了歧义(但是有歧义为啥不报错,就像在传入参数有歧义时的报错),并且控制台打印的Total = 2,很是迷惑!!!,这就是编程的魅力嘛,啊啊啊啊!!