Mybatis之resultMap

Posted yssmt

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mybatis之resultMap相关的知识,希望对你有一定的参考价值。

Mybatis之resultMap


resultMap显示连接查询,用户表和角色表连接查询

 

方式一:用resultMap显示查询结果,在实体中添加userRoleName属性

 

最大的好处:可以解决数据库和属性名一致问题

技术图片

 

 

 技术图片

 

 

 技术图片

 

 

 技术图片

 

 

 问题:在resultMap中没有映射地址,也可以显示地址

答:默认映射级别为partial, 若属性和数据库中的字段名称一致,则可以获取数据,反之不可

若不想实现自动匹配,修改mybatis-configsettings配置】

技术图片

 

 

 技术图片

 

区别:

 

 技术图片

 

 

 association: 映射到JavaBean的某个“复杂类型”属性,比如JavaBean

复杂的类型关联,仅处理一对一

内部嵌套 :映射一个嵌套JavaBean属性

属性:

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

javaType:完整Java类名或者别名

resultMap:引用外部resultMap

方式二: 删掉在User表中添加的userRoleName属性,而在User中添加Role实体对象

技术图片

 

 

 技术图片

 

 

 技术图片

 

 

 方式2:在association中使用resultMap引用,实现resultMap复用

技术图片

 

 

 collection映射到JavaBean的某个“复杂类型”属性,比如集合一对多

内部嵌套:映射一个嵌套结果集到一个列表

属性

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

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

resultMap:引用外部resultMap

User对象中添加一个存储地址的集合

技术图片

 

 

 技术图片

 

 

 技术图片

 

 

 或者

技术图片

 

 

 resultMap映射级别:

PARTIAL:默认值,自动匹配所有的属性,有内部嵌套(associationcollection)的除外

NONE :禁止自动匹配

FULL :自动匹配所有

 

 

 

 

 

 

 

association: 映射到JavaBean的某个“复杂类型”属性,比如JavaBean

以上是关于Mybatis之resultMap的主要内容,如果未能解决你的问题,请参考以下文章

深入浅出Mybatis系列---配置详解之typeAliases别名(mybatis源码篇)

MyBatis MapperScannerConfigurer配置――MyBatis学习笔记之八

MyBatis学习 之 五MyBatis配置文件

mybatis系统性详解(学习笔记)

Mybatis系列之实战篇(下)

Mybatis系列之实战篇(下)