iBatis demo:一对多个多映射

本文通过一个实例展示了如何在iBatis中处理一对多的关系映射。详细介绍了涉及的表信息、类定义、sqlmap映射配置,并提供了验证结果,以帮助理解如何获取球员的全部信息,包括基本信息、效力过的俱乐部及拥有的国籍。
摘要由CSDN通过智能技术生成

一对多个多举例:一个球员效力过多个俱乐部,具有多重国籍,现需要获取所有球员的全部信息(基本信息,曾效力俱乐部信息,拥有的国籍信息)

1 表信息

lyn_user_info –球员基本信息表
lyn_user_group –球员俱乐部关系表
lyn_group_info –俱乐部信息表
lyn_user_nationality –球员国籍关系表

2 类定义

UserInfo –球员全部信息
GroupInfo –俱乐部信息
Nationality –国籍信息

public class UserInfo {
    private String userId;
    private String userName;
    private Set<GroupInfo> groups;
    private Set<Nationality> nations;
    //getters setters
}
class GroupInfo {
    private String groupId;
    private String groupName;
    //getters setters
    //hashCode  equals
}
class Nationality {
    private String nationId;
    private String nationName;  
    //getters setters
    //hashCode  equals
}

注意:UserInfo 中俱乐部集合和国籍集合采用Set,同时GroupInfo和Nationality类要覆写equals方法和hashCode方法,否则关联查询映射后的集合中会存在重复值;

3 sqlmap映射

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值