Mybatis多表映射总结

news/2025/2/13 0:38:18/

1. 多表映射优化

setting属性属性含义可选值默认值
autoMappingBehavior指定 MyBatis 应如何自动映射列到字段或属性。 NONE 表示关闭自动映射;PARTIAL 只会自动映射没有定义嵌套结果映射的字段。 FULL 会自动映射任何复杂的结果集(无论是否嵌套)。NONE, PARTIAL, FULLPARTIAL

我们可以将autoMappingBehavior设置为full,进行多表resultMap映射的时候,可以省略符合列和属性命名映射规则(列名=属性名,或者开启驼峰映射也可以自定映射)的result标签!

修改mybati-sconfig.xml:

<!--开启resultMap自动映射 -->
<setting name="autoMappingBehavior" value="FULL"/>

修改teacherMapper.xml

<resultMap id="teacherMap" type="teacher"><id property="tId" column="t_id" /><!-- 开启自动映射,并且开启驼峰式支持!可以省略 result!-->
<!--        <result property="tName" column="t_name" />--><collection property="students" ofType="student" ><id property="sId" column="s_id" />
<!--            <result property="sName" column="s_name" />--></collection>
</resultMap>

可以看到,在开启autoMappingBehavior后,我们只需要指定主键的映射以及嵌套关系的映射(collection 或 association),不需要使用result标签指定其他属性的映射关系。

2. 多表映射总结

关联关系配置项关键词所在配置文件和具体位置
对一association标签/javaType属性/property属性Mapper配置文件中的resultMap标签内
对多collection标签/ofType属性/property属性Mapper配置文件中的resultMap标签内

http://www.ppmy.cn/news/1381360.html

相关文章

字节一面:TCP 和 UDP 可以使用同一个端口吗?

数据包是计算机网络通信的核心&#xff0c;包含头部和数据负载。TCP和UDP协议在传输层使用端口号区分服务和应用。操作系统通过IP头部中的协议字段和端口号来管理网络流量&#xff0c;确保TCP和UDP流量即使共用端口号也不会相互干扰。 在现代计算机网络中&#xff0c;数据传输…

基于SpringBoot的“实习管理系统”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“实习管理系统”的设计与实现&#xff08;源码数据库文档PPT) 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统首页界面图 学生注册界面图 后台登录界面图 …

Python 单元测试

本篇为Python的单元测试的方法及示例 目录 概念 结果 示例 对函数进行测试 创建函数文件 创建测试文件 测试结果 对类进行测试 创建待测试类 创建测试文件 文档测试 创建函数 进行测试 总结 概念 用来对一个函数、一个类或者一个模块来进行正确性校验工作 结果 …

【洛谷 P8781】[蓝桥杯 2022 省 B] 修剪灌木 题解(数学)

[蓝桥杯 2022 省 B] 修剪灌木 题目描述 爱丽丝要完成一项修剪灌木的工作。 有 N N N 棵灌木整齐的从左到右排成一排。爱丽丝在每天傍晩会修剪一棵灌木&#xff0c;让灌木的高度变为 0 0 0 厘米。爱丽丝修剪灌木的顺序是从最左侧的灌木开始&#xff0c;每天向右修剪一棵灌木…

2024年PHP伪协议详解

【2024年PHP伪协议详解】 嘿&#xff0c;亲爱的编程新手们&#xff01;今天我们要一起探索PHP伪协议的奇妙世界。想象一下&#xff0c;PHP伪协议就像是一个神秘的传送门&#xff0c;能让我们在PHP的海洋中畅游无阻。准备好了吗&#xff1f;让我们开始这段冒险之旅吧&#xff01…

Install kali Linux(20240313)

内容&#xff1a;如题。 操作&#xff1a;分两步骤完成。 第一步、登录官网下载软件包/镜像包 Get Kali | Kali Linux 我期望选择使用虚拟机/U盘/容器的镜像包文件&#xff1a; 以virtual machines为例&#xff0c;进入页面 点击下载使用VMware版本的&#xff0c;2.9G&…

基于SpringBoot的“漫画之家”系统(源码+数据库+文档+PPT)

基于SpringBoot的“漫画之家”系统 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot 工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 系统首页界面图 用户注册界面图 漫画界面图 个人中心界面图 系统登录界面图 管理员功能界面图 …

Mybatis多表映射之一对多映射

上文总结了一对一关联关系中的映射方法。那么&#xff0c;如果存在一对多关系&#xff0c;又该定义映射关系呢&#xff1f; 1. 需求说明 假设目前存在顾客表与订单表&#xff0c;一个顾客与多个订单对应。因此&#xff0c;在顾客实体类中&#xff0c;应该有一个订单类型的lis…