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

简介: 2141251

1 一对一
定义一个一对一的Result,进行属性-字段之间的一对一关联映射即可,如果属性和字段是一致的,resultType实际也是可以的,resultMap更多是解决字段-属性不一致(满足驼峰命名就是一致),如id(属性)-USER_ID(字段)

2 一对多
设:一个用户对应多个角色
User类中添加List<Role>
一的mapper.xml中,resultMap添加<collection>标签.
如:
会得到类似这样的数据

JSON

复制代码

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

{

"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

复制代码

1

2

3

4

5

6

7

8

9

10

<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

复制代码

1

2

3

4

5

6

7

8

9

10

<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

相关文章
|
4月前
|
SQL Java 关系型数据库
Spring 声明式事务 万字详解(通俗易懂)
Spring 第七节 声明式事务,万字详解!
292 4
|
5月前
|
人工智能 安全 测试技术
别再手动写用例了!未来测试设计的核心是“教AI怎么思考”
本文揭示测试行业正经历一场“静默革命”:AI正替代机械写用例的体力劳动,而非测试工程师本身。核心转型在于——从“亲手写用例”升级为“教AI思考”:明确测试对象、构建测试逻辑、注入领域经验。文章详解需求规范化、任务分解、知识库增强与工具选型四大实战路径,助你成为驾驭AI的测试策略师。
|
5月前
|
人工智能 API
千问大模型以32%的份额位居中国企业级大模型调用份额第一
国际市场调研机构沙利文(Frost&Sullivan)发布了最新一期《中国GenAI市场洞察:企业级大模型调用全景研究2025H2》报告,调研用户通过公有云、本地部署、MaaS等使用大模型的不同方式,盘点中国企业级大模型调用市场的全景。2025年下半年,中国企业级市场大模型的日均总消耗量为37万亿Tokens,其中,千问大模型占比32.1%位列第一,成为目前中国企业选择最多的大模型。
|
5月前
|
缓存 供应链 数据可视化
2026 年主流数据可视化工具核心推荐
2026年,瓴羊Quick BI以系统化可视化能力脱颖而出:支持50+专业图表、精细视觉配置、联动钻取/下钻等深度交互、多端自适应输出,并提供零售、制造、金融等行业模板,助力企业高效实现数据洞察与决策落地。(239字)
|
6月前
|
人工智能 搜索推荐 API
智能体来了:从0-1开启你的AI分身时代
内容摘要:AI智能体(Agent)正从概念走向大规模应用,宣告了个体效率飞跃的“AI分身时代”至。本文深度拆解智能体底层逻辑,手把手教你如何利用Coze、Dify等平台构建具备感知、规划与执行能力的AI分身,助你实现从基础自动化到全时生产力的转型。
1045 3
|
7月前
|
数据安全/隐私保护
WiFi Explorer Pro for Mac v3.6.2 安装指南:手把手教你轻松搞定
WiFi Explorer Pro 是一款专用于分析和查看 Mac 周边 WiFi 网络状况的专业工具。通过下载 DMG 文件并拖拽安装至“应用程序”文件夹,首次运行时按提示授权即可正常使用,无需复杂设置,轻松掌握周围无线网络环境。
|
8月前
|
机器学习/深度学习 人工智能 缓存
面试官21问:深入剖析Transformer原理与测试工程!
本文整理了21个Transformer高频面试题,从测试开发视角解析其核心原理。通过理解多头注意力、位置编码等关键机制,帮助测试人员建立对大模型的可测试性认知,为设计AI系统验证方案打下基础。
|
机器学习/深度学习 缓存 安全
基础了解:系统大页
基础了解:系统大页
519 0
|
算法 安全 Linux
Linux 中的 /dev/random 和 /dev/urandom 是什么?
Linux 中的 /dev/random 和 /dev/urandom 是什么?
950 0

热门文章

最新文章