#mybatis #mapper.xml 分步查询 与 级联查询 一对多案例

news/2024/4/19 19:25:12/

分步查询

<!-- 部门 Mapper XML 文件 --><!-- 查询某个部门及其下的所有员工,使用 resultMap 定义嵌套查询 -->
<select id="selectDepartmentWithEmployees" resultMap="DepartmentWithEmployeesResultMap">SELECT * FROM department WHERE department_id = #{departmentId}
</select><resultMap id="DepartmentWithEmployeesResultMap" type="Department"><!-- 部门的属性映射 --><id property="departmentId" column="department_id"/><result property="departmentName" column="department_name"/><!-- 嵌套查询,查询该部门下的所有员工 --><collection property="employees" ofType="Employee" column="department_id" select="selectEmployeesByDepartmentId"/>
</resultMap>
<!-- 员工 Mapper XML 文件 --><!-- 查询某个部门下的所有员工 -->
<select id="selectEmployeesByDepartmentId" resultType="Employee">SELECT * FROM employee WHERE department_id = #{departmentId}
</select>

级联查询

<!-- 部门 Mapper XML 文件 --><!-- 查询某个部门及其下的所有员工,使用级联查询 -->
<select id="selectDepartmentWithEmployees" resultMap="DepartmentWithEmployeesResultMap">SELECT d.*, e.* FROM department dLEFT JOIN employee e ON d.department_id = e.department_idWHERE d.department_id = #{departmentId}
</select><resultMap id="DepartmentWithEmployeesResultMap" type="Department"><id property="departmentId" column="department_id"/><result property="departmentName" column="department_name"/><!-- 嵌套结果集映射,将员工的属性映射到 employees 集合中 --><collection property="employees" ofType="Employee"><id property="employeeId" column="employee_id"/><result property="employeeName" column="employee_name"/><!-- 其他员工的属性映射 --></collection>
</resultMap>

http://www.ppmy.cn/news/1270770.html

相关文章

KaiwuDB 连续三年荣获开源中国“优秀开源技术团队”

近日&#xff0c;国内知名开源技术社区开源中国&#xff08;OSCHINA&#xff09;面向其平台上各大认证官方技术团队、开源社区帐号&#xff0c;结合年度发表的内容深度及广度、开展各种活动运营影响力等多方表现层层筛选&#xff0c;最终 KaiwuDB 获颁 OSCHINA “2023年度优秀开…

PR模板,复古怀旧电影效果视频制作PR项目工程文件

Premiere复古怀旧电影效果视频制作pr模板项目工程文件下载 这个PR模板以复古城市印象电影质感为特色&#xff0c;结合了电影和数字故障效果。包含6个场景。可以编辑文本、添加媒体和自定义颜色。包含视频教程。4K版本。不需要任何插件。 软件支持&#xff1a;PR2022 | 分辨率&a…

命令执行 [BUUCTF 2018]Online Tool1

打开题目 我们代码审计一下 if (isset($_SERVER[HTTP_X_FORWARDED_FOR])) { $_SERVER[REMOTE_ADDR] $_SERVER[HTTP_X_FORWARDED_FOR]; } 如果存在xxf头且不为空&#xff0c;则将xxf头内容&#xff08;真实的客户端ip&#xff09;赋给ROMOTE_ADDR&#xff08;代理服务器传过…

Java数据结构-通过数组封装-结构分析

1、默认arrayList的数组未初始化 ArrayList<Integer> arrayList new ArrayList<>();System.out.println(ClassLayout.parseInstance(arrayList).toPrintable()); java.util.ArrayList object internals: OFF SZ TYPE DESCRIPTION …

c++常见函数处理

1、clamp clamp&#xff1a;区间限定函数 int64_t a Clamp(a, MIN_VALUE, MAX_VALUE); #include <iomanip> #include <iostream> #include <sstream>int main() {std::cout << "no setw: [" << 42 << "]\n"<&l…

电子学会C/C++编程等级考试2021年03月(六级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:生日相同 2.0 在一个有180人的大班级中,存在两个人生日相同的概率非常大,现给出每个学生的名字,出生月日。试找出所有生日相同的学生。 时间限制:1000 内存限制:65536输入 第一行为整数n,表示有n个学生,n ≤ 180。此后每…

深入分析ClassLocader工作机制

文章目录 一、ClassLoader简介1. 概念2. ClassLoader类结构分析 二、ClassLoader的双亲委派机制三、Class文件的加载流程1. 简介2. 加载字节码到内存3. 验证与解析4. 初始化Class对象 四、常见加载类错误分析1. ClassNotFoundException2. NoClassDefFoundError3. UnsatisfiledL…

web漏洞原理与防御策略,web漏洞怎么挖掘

目录 Web安全的重要性 ​编辑常见的Web漏洞类型及其原理&#xff1a; 1、跨站脚本攻击&#xff08;XSS&#xff09;: 2、SQL注入: 3、跨站请求伪造&#xff08;CSRF&#xff09;: 4、远程文件包含&#xff08;RFI&#xff09;和本地文件包含&#xff08;LFI&#xff09;:…

各种不定积分的技巧

前言 积分对于理工科的人来说&#xff0c;可谓一种基本技能。 在物理学上&#xff0c;积分是求解函数面积、体积、质心、转动惯量等物理量的基本工具。 在数学上&#xff0c;积分概念的引入&#xff0c;催生了诸如微分方程、无穷级数、微分几何、复变函数等数学分支&#xf…

StarCCM+ 导入STL几何模型进行仿真

使用 StarCCM 进行仿真时&#xff0c;通常都是用 3D-CAD Model 导入 CAD 类型的几何模型。但对于一些特殊情况&#xff0c;例如通过三维重建等方法获得的几何模型是 STL 文件而非 CAD 文件&#xff0c;这种情况下可以通过 Import Surface Mesh 的方法导入 STL 文件进行仿真&…

spark 写入 mysql 报错

报错信息如下&#xff1a; "C:\Program Files\Java\jdk1.8.0_291\bin\java.exe" "-javaagent:D:\Hadoopruanjian\IDEA\IntelliJ IDEA 2021.3.2\lib\idea_rt.jar60971:D:\Hadoopruanjian\IDEA\IntelliJ IDEA 2021.3.2\bin" -Dfile.encodingUTF-8 -classpat…

GitHub Universe 2023 Watch Party in Shanghai:开源开发者日盛会

目录 前言GitHub Universe 2023的背景开源开发者日活动亮点本次参会的意义活动日程最后 前言 作为全球最大的代码托管平台&#xff0c;GitHub每年都会举办一场令开源开发者们翘首以待的盛会——GitHub Universe&#xff0c;今年也不例外&#xff0c;就在2023年的12月10日&…

C++学习-2023/12/13-C++函数上的改变

内联思想&#xff1a;提高效率 短小精悍 用inline修饰的函数 在结构体或者类型实现的函数&#xff0c;默认为内联函数 重载思想 C允许同名不同参的函数存在 参数个数不同 参数类型不同 参数顺序不同&#xff08;建立在存在不同类型&#xff09; const不构成重载 缺省思想&…

【Python百宝箱】挑战网络分析:NetworkX、iGraph、Graph-tool、Snap.py 和 PyGraphviz详细评测

五大 Python 网络分析工具库大揭秘&#xff1a;功能、性能对比 前言 随着信息时代的来临&#xff0c;网络结构的分析变得日益重要。在 Python 生态系统中&#xff0c;有许多强大的库可用于网络分析&#xff0c;如 NetworkX、iGraph、Graph-tool、Snap.py 和 PyGraphviz。这五…

什么是PHP中的多态?

在面向对象编程&#xff08;OOP&#xff09;中&#xff0c;多态&#xff08;Polymorphism&#xff09;是一个重要的概念&#xff0c;它允许对象能够以多种形式进行操作。多态性使得具有相同接口的不同对象可以被同样的方式处理&#xff0c;从而提高了代码的灵活性和可扩展性。 …

[论文阅读]Multimodal Virtual Point 3D Detection

Multimodal Virtual Point 3D Detection 多模态虚拟点3D检测 论文网址&#xff1a;MVP 论文代码&#xff1a;MVP 论文简读 方法MVP方法的核心思想是将RGB图像中的2D检测结果转换为虚拟的3D点&#xff0c;并将这些虚拟点与原始的Lidar点云合并。具体步骤如下&#xff1a; (1)…

矩阵理论及其应用邱启荣习题3.5题解

(1) P ( − 1 0 1 − 1 − 1 2 1 1 − 1 ) \begin{pmatrix} -1 & 0&1 \\ -1 & -1&2\\1&1&-1 \end{pmatrix} ​−1−11​0−11​12−1​ ​ A ( 1 0 1 1 1 0 − 1 2 1 ) \begin{pmatrix} 1 & 0&1 \\ 1 & 1&0\\-1&2&1 \end{pmat…

Mac 打不开github解决方案

序言 github 时有打不开的情况&#xff0c;为此很是烦恼&#xff0c;这里分享一下如何解决这种问题&#xff0c;其实问题的本质是在访问github网页时无法通过github.com的二级域名进行动态域名解析。 解决方案 手动配置静态文件hosts&#xff0c;将该域名和IP的映射关系添加…

设计模式——策略模式(Strategy Pattern)

概述 策略模式又叫政策模式&#xff0c;是一种对象行为型模式。它是将定义的算法家族分别封装起来&#xff0c;让它们之间可以互相替换&#xff0c;从而让算法的变化不会影响到使用算法的用户。策略模式的主要目的是将算法的定义与使用分开&#xff0c;也就是将算法的行为和环…

学习JVM

java虚拟机 流程&#xff1a;helloworld.java----(javac编译)----helloworld.class-------(java运行)——JVM——机器码JVM功能 *解释和运行 *内存管理 *即时编译&#xff08;跨平台-慢一点&#xff09;jit &#xff08;反复用到的代码 解释保存再内存里面&#xff09;…