day41-Mybatis(resultMap拓展2)

0目录

Mybatis--resultMap拓展

1.collection

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

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

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

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

resultMap:引用外部resultMap;

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

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

day41-Mybatis(resultMap拓展2)_第1张图片day41-Mybatis(resultMap拓展2)_第2张图片

day41-Mybatis(resultMap拓展2)_第3张图片

day41-Mybatis(resultMap拓展2)_第4张图片

3.Mybatis动态sql

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

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

3.1  动态查询

day41-Mybatis(resultMap拓展2)_第5张图片

day41-Mybatis(resultMap拓展2)_第6张图片

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

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

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

day41-Mybatis(resultMap拓展2)_第7张图片

day41-Mybatis(resultMap拓展2)_第8张图片

3.3  动态修改

day41-Mybatis(resultMap拓展2)_第9张图片

day41-Mybatis(resultMap拓展2)_第10张图片

3.4  批量添加

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

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

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

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

day41-Mybatis(resultMap拓展2)_第11张图片

day41-Mybatis(resultMap拓展2)_第12张图片

3.5  通过id批量查询

day41-Mybatis(resultMap拓展2)_第13张图片

第二种写法:

day41-Mybatis(resultMap拓展2)_第14张图片

day41-Mybatis(resultMap拓展2)_第15张图片

3.6  Map批量查询

day41-Mybatis(resultMap拓展2)_第16张图片

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

day41-Mybatis(resultMap拓展2)_第17张图片

day41-Mybatis(resultMap拓展2)_第18张图片

day41-Mybatis(resultMap拓展2)_第19张图片

day41-Mybatis(resultMap拓展2)_第20张图片

你可能感兴趣的:(mybatis,oracle,数据库)