当前位置: 首页 > news >正文

处理一对多的映射关系

一对多关系,比如说根据id查询一个部门的部门信息及部门下的员工信息

在Dept类中先添加List emps属性
image.png

1、collection
DeptMapper.xml文件中

<resultMap id="deptAndEmpResultMap" type="Dept"><id property="did" column="did"></id><result property="deptName" column="dept_name"></result><!--collection:处理一对多的映射关系ofType: 标识该属性所对应的集合中存储数据的类型--><collection property="emps" ofType="Emp"><id property="eid" column="eid"></id><result property="empName" column="emp_name"></result><result property="age" column="age"></result><result property="sex" column="sex"></result><result property="email" column="email"></result></collection></resultMap><!-- Dept getDeptAndEmp(@Param("did") Integer did);--><select id="getDeptAndEmp" resultMap="deptAndEmpResultMap">select * from t_dept left join t_emp on t_dept.did=t_emp.did where t_dept.did=#{did}</select>

2、分布查询
DeptMapper.xml文件中:

 <resultMap id="deptAndEmpByStepResultMap" type="Dept"><id property="did" column="did"></id><result property="deptName" column="dept_name"></result><collection property="emps"select="com.atguigu.mybatis.mapper.EmpMapper.getDeptAndEmpByStepTwo"column="did"fetchType="eager"></collection></resultMap><!--Dept getDeptAndEmpByStepOne(@Param("did") Integer did);--><select id="getDeptAndEmpByStepOne" resultMap="deptAndEmpByStepResultMap">select * from t_dept where did=#{did}</select>

EmpMapper.xml文件中:

 <!--List<Emp> getDeptAndEmpByStepTwo(@Param("did") Integer did);--><select id="getDeptAndEmpByStepTwo" resultType="Emp">select * from t_emp where did=#{did}</select>

相关文章:

  • HCIP的学习(27)
  • 基于SpringBoot+Vue的公园管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
  • Spring高手之路19——Spring AOP注解指南
  • 【云原生】Docker Compose 使用详解
  • Python 关于字符串格式化
  • C++ : 模板初阶
  • MFC实现守护进程,包括开机自启动、进程单例、进程查询、进程等待、重启进程、关闭进程
  • Apache Calcite - 自定义标量函数
  • Anaconda创建python环境默认C盘,如何修改路径
  • C语言PTA练习题(期末考试成绩排名,新生舞会,约瑟夫游戏(序号+姓名+密码),排队点名)
  • 【学习Day4】计算机基础
  • 网安速成之选择题(详细解析版)
  • Kmeans聚类模型
  • Polar Web【简单】login
  • 【vue实战项目】通用管理系统:作业列表
  • 78. Subsets
  • ECS应用管理最佳实践
  • ES6核心特性
  • happypack两次报错的问题
  • javascript从右向左截取指定位数字符的3种方法
  • Javascript弹出层-初探
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • Linux下的乱码问题
  • MaxCompute访问TableStore(OTS) 数据
  • PhantomJS 安装
  • PHP CLI应用的调试原理
  • Python实现BT种子转化为磁力链接【实战】
  • React as a UI Runtime(五、列表)
  • SAP云平台里Global Account和Sub Account的关系
  • SpiderData 2019年2月16日 DApp数据排行榜
  • supervisor 永不挂掉的进程 安装以及使用
  • WinRAR存在严重的安全漏洞影响5亿用户
  • Work@Alibaba 阿里巴巴的企业应用构建之路
  • 从tcpdump抓包看TCP/IP协议
  • 从零开始的无人驾驶 1
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 深入浅出webpack学习(1)--核心概念
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 异步
  • 阿里云ACE认证学习知识点梳理
  • ​ArcGIS Pro 如何批量删除字段
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • # 学号 2017-2018-20172309 《程序设计与数据结构》实验三报告
  • #DBA杂记1
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (C语言)字符分类函数
  • (三)c52学习之旅-点亮LED灯
  • (十五)使用Nexus创建Maven私服
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • (转)Linux整合apache和tomcat构建Web服务器
  • **PHP二维数组遍历时同时赋值
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .Net 中的反射(动态创建类型实例) - Part.4(转自http://www.tracefact.net/CLR-and-Framework/Reflection-Part4.aspx)...
  • @Mapper作用
  • []使用 Tortoise SVN 创建 Externals 外部引用目录