MyBatis-映射文件中的select属性resultMap的使用

MyBatis的XML映射文件(一) 文章目录顶级元素selectselect元素的所有属性insert、update和deletesql获取参数值sql获取多参数值resultType与resultMapresultTyperesultMapassociation属性collection属性分步骤查询懒加载 个人博客 [!note] 以下内容介绍Mybatis的XML映射文件的配置 顶级元素 SQL 映射文件只有很少的几个顶级元素(按照应被定义的顺序列出): cache – 该命名空间的缓存配置。 cache-ref – 引用其它命名空 阅读详情

其实Mybatis中的select标签,还有其他很多属性,大家可以参照一下手册(http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html#select)

手册里resultType和resultMap介绍有点模糊,说清楚了resultType是期望的返回的类型,集合的话是集合包含的类型,不是集合本身,且这两个不能同时使用,resultMap没说清楚,这里我们明确一下。

其实两者的关系就是resultType解决数据表上的字段名称和JavaBean上的属性名称不一致的时候,前面介绍了两种方案,①在sql语句上起别名;②设置全局变量mapUnderscoreToCamelCase让符合驼峰命名约定的两个名字建立关联,如JavaBean属性名称regDate对应数据库字段名reg_date;其实这里还有第三种解决方案就是resultMap,它可以让我们指定定义数据库里的字段名称对应JavaBean的属性名称。

select属性resultMap的使用

1.使用resultMap自定义数据库字段名称和JavaBean的属性名称的对应关系,关键就是定义一组resultMap标签:

2.使用resultMap实现关联查询(在hibernate中是自动完成的,Mybatis得我们手工配置)

试验步骤:

①新增Role类,在User你新增属性Role role;

②在UserDao.xml重写sql和resultMap(复杂的查询结果resultType是吃不够的,必须用resultMap)

查询出来的结果:

id username password state reg_date rid role_name rstate

 ③编写对应的resultMap(通过级联的方式建立关联):

④看测试,实现关联查询

3.在上面的基础上使用association标签实现关联查询

3.在上面的基础上使用association标签分步实现关联查询

试验步骤:

①把RoleDao接口和RoleDao.xml建好,定义一个getRoleById的方法

②修改UserDao.xml的内容:

2中的发起一条sql语句,变成了发起两条sql语句分步执行。

【Spring】— 映射文件 在一个映射文件中,通常需要定义多条SQL语句,这些SQL语句的组成可能有一部分是相同的(如多条select语句中都查询相同的id、username、jobs字段),如果每一个SQL语句都重写一遍相同的部分,势必会增加代码量,导致映射文件过于臃肿。元素会首先运行,它会通过自定义的语句来设置数据表中的主键(如果t_uesr表中没有记录,就将id设置为1,否则将id的最大值加1作为新的主键),然后调用插入语句。在上述代码中,使用元素的refid属性引用了自定义的代码片段,refid属性值为自定义代码片段的id。 阅读详情

相关推荐

Camera(5)metadata

Metadata 是整个 Android camera 中类似于高楼大厦中的管道系统一样,贯穿了整个 Camera 的 Framework 和 vendor HAL。Metadata 里面包含了所有的控制、参数、返回值等等。Metadata分为Android原生的Metadata和芯片商或者用户自定义的Metadata,即Android Tag和Vendor Tag。Vendor Tag在Hal中定义,并在camx和chi目录中使用。

qq_55893245的博客 3056

MyBatis<select>节点中的resultType和resultMap属性

MyBatis<select>节点中的resultType和resultMap属性

_江屿_ 2138

LabVIEW波形图表时间轴设置:三种方法实现横坐标显示日期时间

在数据采集与设备监控场景中,波形图表的横坐标默认显示采样点序号而非日期时间,这给工程师分析历史数据带来不便。理解时间标识(Timestamp)的本质——一个自1904年起算的双精度秒数,是解决问题的关键。时间轴设置既是显示格式问题,更是数据层与显示层的协同设计。通过属性节点动态生成刻度标签、将时间标识数组直接作为X轴数据、或使用波形数据(Waveform)类型绑定t0与dt,分别适用于固定点数显示、非等间隔事件记录和等间隔连续采样等不同需求。合理选择方案并注意缓冲区预分配与时间连续性处理,可让波形图表准确呈

weixin_33416697的博客 255

【Mybatis】映射文件中的select属性resultMap的使用

手册里resultType和resultMap介绍有点模糊,说清楚了resultType是期望的返回的类型,集合的话是集合包含的类型,不是集合本身,且这两个不能同时使用。select属性resultMap的使用。

学习笔记,人工智能,教程,技术分享! 734

SAP期初库存导入 (1)

LSMW

IT养家 7192

【WRF-DART第一期】WRF/DART概述

【WRF-DART第一期】WRF/DART概述

WW、forever的博客 107

MyBatis标签之Select resultType和resultMap

MyBatis标签之Select resultType和resultMap

chengbo_eva的博客 2947

二、TCP/IP协议之网络层(IP地址的格式、分类、报文格式)

数据报每经过一个路由器,路由器都要重新计算一下首部检验和,若首部未发生变化,则此结果必为 0,于是就保留这个数据报。对于网络号相的设备,无论实际所处的物理位置如何,它们都是处在同一个网络中。在首部的固定部分的后面是一些可选字段,其长度是可变的。IPv4 软件在存储器中维持一个计数器,每产生一个数据报,计数器就加 1,并将此值赋给标识字段。表示数据报在网络中的寿命,英文缩写是 TTL(Time To Live),功能是“跳数限制”。地址的网络号码字段用来标识一个网络,网络号码字段的前几位用来区分。

锦慈的技术博客 185

MyBatis框架学习:<select>节点中的resultType和resultMap属性

1.为什么要进行resultType或resultMap注解配置 当需要实现的数据访问是查询类型的,在<select>节点中必须配置resultType或resultMap中的某1个属性(二选一),如果都没有指定,则会出现如下错误: Caused by: org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement 'cn.t

litter_m的博客 8790

某头部金融APP防护机制逆向实录:从反调试到TEE加密的全链路攻防拆解

金融APP安全防护体系深度破解分析 本文详细拆解了某头部金融APP的三重防御机制破解过程。首先通过Frida绕过反调试技术,包括ptrace自我绑定、TracerPid检测和debuggerd监控;随后针对12种Root检测方法(如su文件检查、Magisk检测等)进行环境伪装,通过Hook系统调用伪造安全环境;最后逆向分析TEE加密模块,解密关键接口参数。整个破解过程涉及静态分析、动态调试和代码注入技术,揭示了金融级APP安全防护的实现原理与突破方法(注:所有操作均获授权,仅用于安全研究)。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1400

43、FMCW雷达高度计仿真

本文介绍了FMCW雷达高度计的波形级建模与仿真过程,重点模拟了着陆和倾斜两种飞行场景以评估其性能。通过结合高程数据和飞行轨迹构建雷达场景,使用自定义信号处理器分析IQ样本并估计高度。结果表明,该高度计在多数情况下满足性能要求,但也存在误差较大的点,提出了地面检测算法优化的潜在方向。

neovim7hacker的博客 136

Mybatis映射文件中select元素

Mybatis映射文件中select元素 Select元素来定义查询操作 Id:唯一标识符。用来引用这条语句,需要和接口的方法名一致 parameType:参数类型。可以不传,MyBatis会根据TypeHandler自动推断 resultTpye:返回值类型。别名或者全名,如果返回的是集合,定义集合中元素的类型。不能和resultMap同时使用。(如果返回的是一个集合,要写集合中元素的类型) 使...

qq_41425382的博客 3083

IEC 60747-8 是由国际电工委员会(IEC)制定的标准,标题为《半导体器件 - 分立器件 - 第8部分:场效应晶体管》

IEC 60747-8 是由国际电工委员会(IEC)制定的标准,标题为《半导体器件 - 分立器件 - 第8部分:场效应晶体管》(Semiconductor devices - Discrete devices - Part 8: Field-effect transistors)。该标准详细规定了场效应晶体管(FETs)的测试方法,涵盖静态和动态特性测试,适用于多种类型的FET,包括结型场效应晶体管(JFETs)、绝缘栅场效应晶体管(MOSFETs,增强型和耗尽型)等。3. 标准其他部分(简要概述)

专注于前沿技术的探索与实践,热衷于从代码逻辑、架构设计到行业应用等多维度深挖技术本质。期待在技术之路上与你共同成长~ 577

ORM框架之Mybatis(二):映射文件

上一篇博客写的是Mybatis基础配置文件。这一篇我们来聊一聊Mybatis的映射文件。 Mybatis的mapper映射文件中有很多常用的标签,如insert、update、delete、select、resultMap、sql等,也会有很多属性,如resultType、reusltMap、parameterType、parameterMap、useGeneratedKeys、keyProperty等。相信这些在项目都有使用,但是这里还是要梳理一下(知识体系都是在不断梳理中完善和获得新知)。 下面就直入主

IT-CRUD 589

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

MyBatis 学习(四)之 SQL 映射文件

映射器是 MyBatis 中最复杂并且是最重要的组件。它由一个接口和 SQL 映射文件(或者注解)组成。在映射器中我们可以配置各类 SQL、动态 SQL、缓存、存储过程、级联等复杂的内容。以下是 SQL 映射文件的部分元素介绍元素描述cache该命名空间的缓存配置cache-ref引用其它命名空间的缓存配置resultMap描述如何从数据库结果集中加载对象,它是最复杂也是最强大的元素sql可被其它语句引用的可重用语句块select映射查询语句insert映射插入语句update映射更新语句。

zjs246813的博客 1546

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

mybatis 新增语句_最全MyBatis中XML映射文件(Mapper)标签分析

前言MyBatis的强大之处就在于它的映射器文件,而这也正是MyBatis的魔力所在,对于任何MyBatis的使用者来说,MyBatis的映射文件是必须要掌握的。Mapper文件标签Mapper中一个提供了9个顶层标签,除了1个已经过期的我们不需要去了解,另外8个都是必须要掌握的,只要熟练掌握了标签的使用,使用MyBatis才能如鱼得水。接下来我们就一个个来分析一下这些标签的使用。selectse...

weixin_39982580的博客 1006

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

mybatis实践篇(五)—— mapper.xml映射文件中那些你忽略的高级特性

在mybati实践篇(二)中我们提到过Mybatis的映射文件中的所有等级元素: mybatis的SQL 映射文件中的顶级元素: cache– 对给定命名空间的缓存配置。 cache-ref– 对其他命名空间缓存配置的引用。 resultMap– 是最复杂也是最强大的元素,用来描述如何从数据库结果集中来加载对象。 sql– 可被其他语句引用的可重用语句块。 insert– 映...

zhoushimiao1990的博客 1348

Mybatis SQL映射文件讲解

Mybatis SQL映射文件讲解SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序): cache – 配置给定命名空间的缓存。 cache-ref – 从其他命名空间引用缓存配置。 resultMap – 最复杂,也是最有力量的元素,用来描述如何从数据库结果集中来加 载你的对象。 parameterMap – 已经被废弃了!老式风格的参数映射。内联参数是首选,这个元 素可能在将来

我的博客 821

MyBatis的核心配置——MyBatis映射文件

MyBatis的核心配置——MyBatis映射文件

致力于分享在各类技术领域的学习与实践经验,涵盖编程、虚拟化、开源工具、网络安全等。 1590

mybatis 游标查询_收藏!最全MyBatis中XML映射文件标签分析+示例!

前言MyBatis的强大之处就在于它的映射器文件,而这也正是MyBatis的魔力所在,对于任何MyBatis的使用者来说,MyBatis的映射文件是必须要掌握的。Mapper文件标签Mapper中一个提供了9个顶层标签,除了1个已经过期的我们不需要去了解,另外8个都是必须要掌握的,只要熟练掌握了标签的使用,使用MyBatis才能如鱼得水。接下来我们就一个个来分析一下这些标签的使用。selectse...

weixin_33572836的博客 909

Mybatis XML映射文件

XML映射文件 如上一篇,我们的xml映射文件和Mapper接口是对应的。当然Mybatis也支持使用注解方式将sql绑定到Mapper接口上(这个我们后面再说)。但xml映射方式来绑定sql和Mapper功能更为强大,也更方便的编写动态的sql。 XML映射文件的顶级元素 SQL 映射文件只有很少的几个顶级元素,按先后顺序如下 cache – 该命名空间的缓存配置。 cache-ref – 引用其它命名空间的缓存配置。 resultMap – 描述如何从数据库结果集中加载对象,是最复杂也是最强大的元素。

这个需求,做不了 801

MyBatis ResultMap

MyBatis 真正强大之处就在这些映射语句,也就是它的魔力所在。对于它的强大功能,SQL 映射文件的配置却非常简单。 如果您比较SQL 映射文件配置与JDBC 代码,您很快可以发现,使用SQL 映射文件配置可以节省95%的代码量。MyBatis 被创建来专注于SQL,但又给您自己的实现极大的空间。 需要配置的基本元素 1. cache – 配置给定模式的缓存 2. c...

weixin_30610755的博客 64

SSM之Mybatis_ch3——XML映射文件细解(一)

SSM之Mybatis_ch3 XML映射文件细解(一) cache——命名空间的缓存配置 cache-ref——引用其他命名空间的缓存配置 resultMap——从数据库结果集中加载对象,是最复杂也最强大的元素 sql——可被其他语句引用的可重用语句块 insert——映射插入语句 update——映射更新语句 delete——映射删除语句 select——映射查询语句 此篇只讲述select、insert、update、delete以及resultMap入门。 select <select i

gezq0714的博客 318

MyBatis学习(三)

MyBatis映射文件中常用元素的学习

qq_52340036的博客 1426

MyBatis学习(八)--映射文件配置项

映射文件配置项: select元素   详解: Attribute Description id 在这个命名空间下唯一的标识符,可被其它语句引用 parameterType 传给此语句的参数的完整类名或别名 parameterMap 不推荐使用。这个参数将来可能被删除。 resultType 语句返回值类型...

weixin_30332705的博客 73
上一篇: 最新AIGC创作系统,ChatGPT源码详细图文搭建部署教程,自定义指令Promp提示词,AI绘画、多模态识图理解文档分析
下一篇: MyBatis-在分步查询的基础上配置懒加载
synchronizeOn
博客等级 码龄3年 1193粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值