mysql resultmap中的association和collection的含义

<resultMap type="SysUser" id="SysUserResult">

<id property="userId" column="user_id" />

<result property="deptId" column="dept_id" />

<result property="userName" column="user_name" />

<result property="nickName" column="nick_name" />

<result property="email" column="email" />

<result property="phonenumber" column="phonenumber" />

<result property="sex" column="sex" />

<result property="avatar" column="avatar" />

<result property="password" column="password" />

<result property="status" column="status" />

<result property="delFlag" column="del_flag" />

<result property="loginIp" column="login_ip" />

<result property="loginDate" column="login_date" />

<result property="createBy" column="create_by" />

<result property="createTime" column="create_time" />

<result property="updateBy" column="update_by" />

<result property="updateTime" column="update_time" />

<result property="remark" column="remark" />

<association property="dept" column="dept_id" javaType="SysDept" resultMap="deptResult" />

<collection property="roles" javaType="java.util.List" resultMap="RoleResult" /> </resultMap>

在MyBatis中,`<association>`和`<collection>`是用于处理对象之间的关联关系的元素。它们用于定义对象之间的一对一和一对多的关系。

1. `<association>`:用于定义对象之间的一对一关系。它表示一个对象属性与另一个对象之间的关联。在你提供的代码片段中,`<association>`用于将`SysUser`对象的`dept`属性关联到`SysDept`对象。它使用`dept_id`列的值作为关联条件,并使用`resultMap`属性指定了处理该关联关系的结果映射。

   在`SysUser`对象中,`dept`属性将会被填充为与`dept_id`相关联的`SysDept`对象。这样你就可以通过`user.dept`访问相关的部门信息。

2. `<collection>`:用于定义对象之间的一对多关系。它表示一个对象属性与多个对象之间的关联。在你提供的代码片段中,`<collection>`用于将`SysUser`对象的`roles`属性关联到`RoleResult`映射结果集。

   在`SysUser`对象中,`roles`属性将会被填充为一个`java.util.List`,其中包含与该用户相关联的多个角色对象。这样你就可以通过`user.roles`访问与该用户相关的角色列表。

通过使用`<association>`和`<collection>`,你可以定义对象之间的关联关系,并在查询结果映射中进行处理,使得在查询结果中能够正确地填充关联的对象或集合。这样可以方便地进行对象之间的导航和关联数据的获取。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值