千家信息网

resultMap中的collection标签怎么用

发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,这篇文章主要介绍"resultMap中的collection标签怎么用"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"resultMap中的collection
千家信息网最后更新 2025年11月13日resultMap中的collection标签怎么用

这篇文章主要介绍"resultMap中的collection标签怎么用"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"resultMap中的collection标签怎么用"文章能帮助大家解决问题。

    resultMap标签中的collection标签

    collection(一对多)

    元素的作用和association元素的作用差不多一样,事实上,它们非常类似,也是映射到JavaBean的某个"复杂类型" 属性,只不过这个属性是一个集合列表,即JavaBean内部嵌套一个复杂数据类型(集合)。和使用association元素一样,我们使用嵌套查询, 或者从连接中嵌套结果集。

    下面通过一个示例来演示coeltien 的具体应用,示例需求获取指定用户的相关的信息和地址列表。

    我们有实体类Employee如下:

    package com.xyj.entity;import java.util.List;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data@NoArgsConstructor@AllArgsConstructorpublic class Employee {        private int eid;        private String ename;        private String epwd;        private String address;        private String tel;        private List sports;//职员所参加的所有运动项目}

    员工间举行了一个小型运动会,又有Sport实体类如下:

    package com.xyj.entity;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;@Data@NoArgsConstructor@AllArgsConstructorpublic class Sport {    private int sportId;    private String sportName;    private String sportScore;}

    可知一个员工可以参加多个运动项目,所以我们的Employee对象内部嵌套了一个复杂数据类型的属性,sports,接下来在EmpDao接口中添加根据职员id获取职员参加的项目列表的方法,代码如下:

    List findSportsInfoByEmpId(@Param("eid")Integer id);

    修改对应的映射文件,由于Employee内部嵌套了集合对象,因此需要使用collection来实现结果映射,实例代码如下:

                                                                                                                    

    最后进行测试,查看结果是否正确:

    @org.junit.Test    public void test() {        SqlSession session = MyBatisUtils.getSqlSession();        EmpDao ed = session.getMapper(EmpDao.class);        List list = ed.findSportsInfoByEmpId(1);        for (Employee emp : list) {            for (Sport e : emp.getSports()) {                System.out.println(e);            }        }    }

    运行结果:

    查询成功,但是我们的collection标签写在resultMap标签的内部,不能达到复用,当然是可以复用的,只需修改代码如下:

                                                                                                                                                                                                    

    collection标签中各属性的说明

    关于"resultMap中的collection标签怎么用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

    标签 属性 结果 复杂 代码 元素 知识 类型 职员 项目 运动 作用 员工 实体 对象 数据 方法 示例 行业 复用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 软件工程软件开发适合考研吗 南京爱服优软件开发公司 天路由打印服务器刷机 网络安全组织工作流程 网络安全基本特征是什么 数据库 数据 存储方法 现在学软件开发很好吗 幻塔登录服务器断开登不上咋回事 网络安全法与企业 四川服务器维保云主机 计算机三级网络技术需要准备 国产软件开发平台招标文件约束 服务器接入交换机 网络安全特点 说法正确 服务器怎么设置不登录 网络技术考试难吗 数据库检索电话是135开头的 EPS数据库需要证件号码是 在线计算机列表服务器可以禁止吗 环京通勤数据库 怎么查 动态网络技术的类型 窗体修改数据库 贯彻实施网络安全法 报告 连锁超市 数据库 腾讯云服务器手机模拟器 win10服务器管理工具 巨人通力电梯服务器怎么激活 软件需求工程对软件开发的影响 浪潮服务器启动不了红色灯亮了 动漫软件开发企业的税率
    0