mybatis 映射

一对一

关联的嵌套结果映射(将多个表所有需要的值一次性查出)

public class SysUser{
    private SysRole role
}

标签用于表示一个内嵌复合对象属性

<select id="selectUserAndRole" resultType="SysUser">
select u.id, u.user_name userName, u.user_password userPassword,
       r.id "role.id", r.role_name "role.roleName"
from sys_user u 
inner join sys_user_role ur on u.id = ur.user_id
inner join sys_role r on ur.role_id = r.id
where u.id = #{id}
</select>

映射方式

  1. 自动映射使用resultType,role对象映射的列需要添加“role.”前缀
  2. 使用resultMap,定制化属性映射,
  3. 使用resultMap, 同事使用association标签

嵌套查询

<association select="selectid">
<select id="selectid">

aggressiveLazyLoading为true时,延迟加载fetchType=lazy失效
lazyLoadTriggerMethods,配置主对象调用相关的方法则加载延迟加载的对象(调用user.equals()时是加载Role对象)

一对多

resultMap标签中,标签表明是否同一个对象。

<resultMap>
<id property="" column=""/>
</resultMap>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值