结果映射是什么??
resultMap 元素是 MyBatis 最重要、最强大的元素。它能让你从 90% 的 JDBC ResultSets 在某些情况下,解放数据提取代码,允许您执行一些数据提取代码 JDBC 不支持的操作。事实上,在为一些复杂的句子编写映射代码时,比如连接,resultMap 数千行代码可以替换实现相同功能的代码。ResultMap 设计理念是零配置简单的句子。对于更复杂的句子,只需描述句子之间的关系。
结果映射应用场景
有两张表格,一张是学生表格,另一张是教师表格。许多学生对应一名教师。现在他们想查询所有学生和相应教师的信息。它涉及一对多和多对一的复杂查询。
resultmap属性介绍
id:定义resultmap的唯一标识
type:将pojo对象定义为resultmap最终映射的pojo对象
autoMapping:主要功能是完成结果集的映射。在映射中,resultmapping中的字段将以相同的名称映射到返回类型的相应属性上,并在映射中自动忽略大小写。例如,查询的字段是student,但返回类型中的一个属性是student,并且有一种setstudent方法,可以匹配成功,自动完成映射,并将返回值映射给相应的返回类型中的ID。
extends:继承父类resultmap,然后不需要重复定义父类某些属性标签。
Resultmap子标签
序号
元素名称
子元素
使用
1
constructor
idArg 、arg
用于配置结构器方法
2
id
将结果集标记为id,便于全局调用
3
result
配置POJO到数据库列名映射关系
4
association
级联使用
代表一对一关系
5
collection
级联使用
代表一对多关系
6
discriminator
级联使用
鉴别器 结果集可根据实际选择实例确定