MyBatis 多表关联相同字段的解决方案,springmvc面试题高级

private Integer id;

private String name;

private Integer age;

private String address;

//一对多映射集合

private List<Account> accounts;

}




实体类2:Account.java



@Data

@NoArgsConstructor

@AllArgsConstructor

public class Account {

private Integer id;

private Integer uid;

private Double money;

}




UserMapper 接口:



public interface UserMapper {

List<User> findAllUser();

}




mapper.xml文件:下面写法是错误的,这样查出来的`id`只有一个



<resultMap id="userAccountMap" type="user">

    <id column="id" property="id"/>

    <result column="name" property="name"/>

    <result column="age" property="age"/>

    <result column="address" property="address"/>

    <collection property="accounts" javaType="ArrayList" ofType="Account">

        <id column="id" property="id"/>

        <result column="uid" property="uid"/>

        <result column="money" property="money"/>

    </collection>

</resultMap>



<select id="findAllUser" resultMap="userAccountMap">

    select 	u.id, u.name, u.age, u.address,

    		a.id, a.uid, a.money

    from user u

    left join account a

    on u.id = a.uid;

</select> 



[](https://codechina.csdn.net/m0_60958482/java-p7)解决方案

=======================================================================



要解决这个问题很简单,拿上面的例子来说,我们要给结果集`userAccountMap`的字段起个别名,然后在下面的`select`语句中查询时再给字段起个相同的别名:



<resultMap id="userAccountMap" type="user">

    <id column="id1" property="id"/> <!--此处给父表的id起了别名id1-->

    <result column="name" property="name"/>

    <result column="age" property="age"/>

    <result column="address" property="address"/>

    <collection property="accounts" javaType="ArrayList" ofType="Account">

        <id column="id" property="id"/> <!--此处给子表的id起了别名id2-->

最后

针对以上面试题,小编已经把面试题+答案整理好了,想要获取这份面试题+答案的朋友帮忙点赞后,戳这里免费领取就可以了

最新大厂必问微服务面试题汇总:SpringCloud、Boot、Dubbo

最新大厂必问微服务面试题汇总:SpringCloud、Boot、Dubbo

最新大厂必问微服务面试题汇总:SpringCloud、Boot、Dubbo

面试专题

image

除了以上面试题+答案,小编同时还整理了微服务相关的实战文档也可以分享给大家学习

image

image

-mYMM7Br1-1630144608838)]

除了以上面试题+答案,小编同时还整理了微服务相关的实战文档也可以分享给大家学习

[外链图片转存中…(img-nma7bMxC-1630144608840)]

[外链图片转存中…(img-Uinq8BgK-1630144608841)]

image

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值