day41-Mybatis(resultMap拓展2)

文章详细介绍了Mybatis中resultMap的collection特性,用于处理一对多的关系映射,以及动态SQL的使用,包括where1=1的作用和动态查询、添加、修改的场景。同时,提到了批量操作和多表联查的应用,例如通过foreach进行Map和ID的批量查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0目录

Mybatis--resultMap拓展

1.collection

Collection:复杂类型集合;一对多;内部嵌套;

映射到一个嵌套结果到一个列表;

属性:property:映射数据库列的实体对象的属性;

ofType:完整java类名或者别名(集合所包括的类型);

resultMap:引用外部resultMap;

子元素:id、result、property:映射数据库列的实体对象的属性、column:数据库列名或别名

2.collection实战(一个对象包含一个集合【一对多】)

3.Mybatis动态sql

where 1=1 是一个常见的 SQL 语句中的条件语句,它的作用是为了方便在后续的条件判断中添加额外的条件。

在这里,where 1=1 并没有实际的作用,它只是为了在后续的条件判断中能够方便地添加 and 关键字。这样可以避免在每个条件判断前都需要判断是否已经存在了一个条件,从而简化了代码的编写。

3.1  动态查询

3.2  动态添加(trim中有四个用法)

prefix:在trim标签内sql语句加上前缀。
suffix: 在trim标签内sql语句加上后缀。
prefixOverrides: 指定去除多余的前缀内容。

suffixOverrides:指定去除多余的后缀内容,如:suffixOverrides=",",去除trim标签内sql语句多余的后缀","。

3.3  动态修改

3.4  批量添加

collection和item是MyBatis框架中的两个属性,用于在循环遍历集合时指定集合和集合元素的名称。

- collection属性指定要遍历的集合,可以是一个List、Set、数组等。

- item属性指定集合中的每个元素在循环中的名称,可以根据需要自定义。

在这段代码中,foreach标签用于循环遍历list集合中的元素,每次循环时将集合中的元素赋值给item指定的变量名。循环体中可以使用item来访问集合中的元素。循环体中的代码会根据集合中元素的个数执行多次。循环体之间的代码会根据separator属性指定的分隔符进行分隔。

3.5  通过id批量查询

第二种写法:

3.6  Map批量查询

4.多表联查综合实战(一对一&一对多)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值