0
点赞
收藏
分享

微信扫一扫

mybatis结果映射

什么是结果映射

     resultMap 元素是 MyBatis 中最重要最强大的元素。它可以让你从 90% 的 JDBC ResultSets 数据提取代码中解放出来,并在一些情形下允许你进行一些 JDBC 不支持的操作。实际上,在为一些比如连接的复杂语句编写映射代码的时候,一份 resultMap 能够代替实现同等功能的数千行代码。ResultMap 的设计思想是,对简单的语句做到零配置,对于复杂一点的语句,只需要描述语句之间的关系就行了。

结果映射应用场景

有两张表,其中一张是学生表,另一张是老师表,其中多个学生对应一个老师,现在想查询所有学生及对应老师的信息。其中就涉及到一对多以及多对一的复杂查询。

resultMap属性介绍

 id:定义resultMap的唯一标识

type:定义该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

级联使用

鉴别器 根据实际选择实例,可以通过特定条件确定结果集

举报

相关推荐

0 条评论