2.映射关系(1-1 1-n n-n)

简介: 本文介绍了MyBatis框架中处理不同类型的关联关系(一对一、一对多、多对一及多对多)的方法。一对一关联可通过简单的属性字段映射实现;一对多关联需要在相关类中添加列表属性,并在Mapper文件中使用`<collection>`标签进行配置;多对一关联则需在Mapper文件中使用`<association>`标签来指定关联对象;对于多对多关联,通常需要定义一个中间类并在双方类中分别添加集合属性,通过`<collection>`标签完成映射。

2.映射关系(1-1 1-n n-n)

1 一对一
定义一个一对一的Result,进行属性-字段之间的一对一关联映射即可,如果属性和字段是一致的,resultType实际也是可以的,resultMap更多是解决字段-属性不一致(满足驼峰命名就是一致),如id(属性)-USER_ID(字段)
2 一对多
设:一个用户对应多个角色
User类中添加List<Role>
一的mapper.xml中,resultMap添加<collection>标签.
如:
会得到类似这样的数据

JSON


{

"id": "1003",

"username": "小波",

"password": "123456",

"address": "北京市东城区",

"email": "510273027@qq.com",

"roles": [

{

"id": "1",

"name": "开发"

},

{

"id": "2",

"name": "TL"

}

]

}

3 多对一
设:一个作者可以有多个博客
Author类中添加Blog
一的mapper.xml中添加<association>
如:

XML


<resultMap id="blogResult" type="Blog">

<id property="id" column="blog_id" />

<result property="title" column="blog_title"/>

<association property="author" column="blog_author_id" javaType="Author" resultMap="authorResult"/>

</resultMap>


<resultMap id="authorResult" type="Author">

<id property="id" column="author_id"/>

<result property="username" column="author_username"/>

</resultMap>

或:

XML


<resultMap id="productBean" type="Blog">

<id property="id" column="blog_id" />

<result property="title" column="blog_title"/>

<!-- 多对一 -->

<!-- property: 指的是属性名称, javaType:指的是属性的类型 -->

<association property="category" javaType="Author">

<id column="cid" property="author_id"/>

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

</association>

</resultMap>

4 多对多
设:多个部门对应多个用户
定义一个第三方类,假设为UserForDept.java,属性private User user; private Dept dept;
User类中添加Set<Dept>(针对不同场合这里也可以List),mapper.xml中添加<collection>添加UsersForDept
Dept类中添加Set<User>(针对不同场合这里也可以List),mapper.xml中添加<collection>添加UsersForDept

若有收获,就点个赞吧


相关文章
|
6月前
|
存储 C++ 索引
哈希表、集合、映射
哈希表、集合、映射
|
15天前
映射关系(1-1 1-n n-n)
映射关系(1-1 1-n n-n)
21 1
|
搜索推荐 Java 程序员
对象映射你用哪个
对象映射你用哪个
92 0
|
SQL XML 存储
Hibernate框架【五】——基本映射——多对多映射
Hibernate框架【五】——基本映射——多对多映射
191 0
|
6月前
2.映射关系(1-1 1-n n-n)
2.映射关系(1-1 1-n n-n)
|
6月前
|
SQL Java
JPA - 双向多对一映射
JPA - 双向多对一映射
66 2
|
6月前
|
Java uml
JPA - 单向多对一映射
JPA - 单向多对一映射
59 0
|
SQL XML Java
Hibernate框架【四】——基本映射——多对一和一对多映射
Hibernate框架【四】——基本映射——多对一和一对多映射
173 0
|
XML 存储 Java
Hibernate框架【三】——基本映射——一对一映射
Hibernate框架【三】——基本映射——一对一映射
82 0
|
监控
数据标准应用(一):落标映射关系
数据标准创建完成后,需要指定其关联的资产对象才能发挥应用价值。数据标准和资产对象的映射关系当前可以通过落标映射规则来管理;生成映射关系后,对象是否遵循了映射到的标准定义则通过落标监控评估来判断。本文为您介绍落标映射关系的分类和管理方式。
1307 0