Mybatis之resultMap
用resultMap显示连接查询,用户表和角色表连接查询
方式一:用resultMap显示查询结果,在实体中添加userRoleName属性
最大的好处:可以解决数据库和属性名一致问题
【问题:在resultMap中没有映射地址,也可以显示地址
答:默认映射级别为partial, 若属性和数据库中的字段名称一致,则可以获取数据,反之不可
若不想实现自动匹配,修改mybatis-config中settings配置】
区别:
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:默认值,自动匹配所有的属性,有内部嵌套(association和collection)的除外
NONE :禁止自动匹配
FULL :自动匹配所有
association: 映射到JavaBean的某个“复杂类型”属性,比如JavaBean类