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

简介: 本文介绍MyBatis中四种映射关系:一对一(属性与字段映射,可使用resultMap解决命名不一致)、一对多(如用户关联多个角色,通过`<collection>`实现)、多对一(如博客对应作者,使用`<association>`)及多对多(如用户与部门间关系,需借助中间类并通过集合映射)。

映射关系(1-1 1-n n-n)
1 一对一
定义一个一对一的Result,进行属性-字段之间的一对一关联映射即可,如果属性和字段是一致的,resultType实际也是可以的,resultMap更多是解决字段-属性不一致(满足驼峰命名就是一致),如id(属性)-USER_ID(字段)
2 一对多
设:一个用户对应多个角色
User类中添加List
一的mapper.xml中,resultMap添加标签.
如:
会得到类似这样的数据
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中添加
如:
XML
复制代码
1
2
3
4
5
6
7
8
9
10









或:
XML
复制代码
1
2
3
4
5
6
7
8
9
10











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

相关文章
|
机器学习/深度学习 并行计算 计算机视觉
YOLOv5入门实践(5)——从零开始,手把手教你训练自己的目标检测模型(包含pyqt5界面)
YOLOv5入门实践(5)——从零开始,手把手教你训练自己的目标检测模型(包含pyqt5界面)
12064 1
YOLOv5入门实践(5)——从零开始,手把手教你训练自己的目标检测模型(包含pyqt5界面)
|
3月前
|
Java Maven Spring
打包
项目打包为单一可执行JAR,内置配置文件,通过Maven构建并使用Spring Boot插件指定主类。执行`mvn clean package`打包,`java -jar`运行(支持前台/后台),通过`netstat`或`ps`查PID后`kill -9`停止服务。也可分离JAR依赖与配置。
Excel工具-HUTOOL-读取Excel
Hutool提供ExcelReader封装,支持读取Excel为Map、Bean或列表。针对大文件,提供Excel03SaxReader和Excel07SaxReader,基于SAX模式避免内存溢出,支持按行处理数据,适用于大数据量的高效读取。
|
3月前
|
Arthas 存储 运维
记Arthas实现一次CPU排查与代码热更新
本文介绍如何使用Arthas排查线上Java应用CPU占用过高问题。通过`thread`定位高耗能线程,`watch`监控方法调用与异常,结合`jad`反编译与`redefine`实现热更新,无需重启服务即可修复代码,提升线上问题响应效率。适用于SpringBoot + JDK8环境。
|
3月前
|
Arthas Java 测试技术
Arthas安装
Arthas是一款Java诊断工具,需先启动Java应用并安装JDK。通过arths-boot.jar启动后选择对应进程即可接入,支持多进程管理,适用于SpringBoot等应用的线上问题排查与性能分析。(236字符)
|
3月前
|
缓存 开发工具 git
QLExpress使用及源码分析
QLExpress是阿里开源的轻量级规则引擎,支持通过YAML配置表达式规则。支持AST语法树解析、上下文构建与动态执行,提供脚本缓存、别名映射、指令重写等扩展能力,适用于灵活的业务逻辑解耦与动态化控制。
|
3月前
|
缓存 Java 数据库连接
mybatis常用配置
本文介绍MyBatis核心配置,包括属性加载优先级(方法参数 &gt; resource/url &gt; properties元素)、关键配置项如缓存、延迟加载、执行器类型,以及多环境配置与事务管理(JDBC/MAANGED),适用于MyBatis开发者快速掌握配置要点。
|
3月前
|
存储 JSON Dubbo
Soul数据库设计
本插件采用数据库设计,存储插件、选择器、规则及其关联关系。核心四表:plugin(插件)、selector(选择器)、rule(规则)、条件表(匹配条件)。支持Dubbo、HTTP、SpringCloud协议,体现Soul三大核心:插件、规则、选择器。
|
弹性计算 固态存储 大数据
2025阿里云服务器租赁价格表一年、1个月和1小时收费标准(200M峰值带宽)
阿里云服务器价格优惠,2025年最新租用费用表显示,轻量应用服务器2核2G配置一年仅需68元(秒杀38元),带200M峰值带宽。云服务器ECS方面,99元/年的2核2G经济型和199元/年的2核4G企业专享型备受青睐。4核16G游戏服务器70元/月,8核32G则160元/月。GPU服务器也有大幅折扣,如T4显卡的gn6i最低配置4核15G一个月1878.40元。续费享有长期折扣,1年7.5折,3年4.5折等。公网带宽和系统盘按需计费,ESSD云盘性能优越,价格透明。详情见官网。
|
SQL 关系型数据库 MySQL
【Mysql】MYSQL参数max_allowed_packet 介绍
【Mysql】MYSQL参数max_allowed_packet 介绍
1626 0

热门文章

最新文章