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

news/2024/12/27 6:37:27/

分步查询

<!-- 部门 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;:…