MyBatis -- resultType 和 resultMap

news2024/11/25 16:39:46

MyBatis -- resultType 和 resultMap

  • 一、返回类型:resultType
  • 二、返回字典映射:resultMap

一、返回类型:resultType

绝⼤数查询场景可以使用 resultType 进⾏返回,如下代码所示:

    <select id="getNameById" resultType="java.lang.String">
        select username from userinfo where id=#{id}
    </select>

返回自定义实体类也是同样 ~

它的优点是使用方便,直接定义到某个实体类即可。

但在很多场景中,实体类属性名和数据库表字段名并不相同,这时候就要使用 resultMap 了!

二、返回字典映射:resultMap

resultMap 使用场景:

  • 字段名称和程序中的属性名不同的情况,可使用 resultMap 配置映射;
  • ⼀对⼀和⼀对多关系可以使用 resultMap 映射并查询数据。

属性名和字段名不同的情况

数据库表字段名:

在这里插入图片描述

实体类属性名:

在这里插入图片描述

mapper.xml 代码如下:

    <select id="getUserById" resultType="com.example.demo.model.User">
        select * from userinfo where id=#{id}
    </select>

查询的结果如下:

在这里插入图片描述

这个时候就需要使用 resultMap 了,resultMap 的使用如下:
(在相应 .xml 文件中配置)
在这里插入图片描述

mapper.xml:

    <resultMap id="BaseMap" type="com.example.demo.model.User">
        <id column="id" property="id"></id>
        <result column="username" property="username"></result>
        <result column="password" property="pwd"></result>
    </resultMap>
    <select id="getUserById" resultMap="com.example.demo.mapper.UserMapper.BaseMap">
        select * from userinfo where id=#{id}
    </select>

注意:

  • id 命名规范为 大驼峰 ~
  • 在 resultMap 中,无论属性和字段是否相同,最好是所有都映射一下,否则某些场景会出问题 ~

查询的结果就有值了,如下图所示:

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/169193.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

企业如何借助制造业ERP系统,做好生产排产管理?

随着市场竞争越来越激烈&#xff0c;生产制造行业订单零碎化趋势越发突出。面对品种多&#xff0c;数量小&#xff0c;批次多&#xff0c;个性化需求也多的生产方式&#xff0c;PMC生产排产管理变得非常困难&#xff1b;同时生产过程还会有各种不确定的临时性因素出现&#xff…

详解pandas的read_csv函数

一、官网参数 pandas官网参数网址&#xff1a;pandas.read_csv — pandas 1.5.2 documentation 如下所示&#xff1a; 二、常用参数详解 1、filepath_or_buffer(文件) 一般指读取文件的路径。比如读取csv文件。【必须指定】 import pandas as pddf_1 pd.read_csv(r"C:…

Xilinx FPGA电源设计与注意事项

1 引言随着半导体和芯片技术的飞速发展&#xff0c;现在的FPGA集成了越来越多的可配置逻辑资源、各种各样的外部总线接口以及丰富的内部RAM资源&#xff0c;使其在国防、医疗、消费电子等领域得到了越来越广泛的应用。当采用FPGA进行设计电路时&#xff0c;大多数FPGA对上电的电…

软件测试复习06:基于经验的测试

作者&#xff1a;非妃是公主 专栏&#xff1a;《软件测试》 个性签&#xff1a;顺境不惰&#xff0c;逆境不馁&#xff0c;以心制境&#xff0c;万事可成。——曾国藩 文章目录软件缺陷基于缺陷分类的测试缺陷模式探索性测试软件缺陷 主要由以下几种原因造成&#xff1a; 疏…

Redux相关知识(什么是redux、redux的工作原理、redux的核心概念、redux的基本使用)(十一)

系列文章目录 第一章&#xff1a;React基础知识&#xff08;React基本使用、JSX语法、React模块化与组件化&#xff09;&#xff08;一&#xff09; 第二章&#xff1a;React基础知识&#xff08;组件实例三大核心属性state、props、refs&#xff09;&#xff08;二&#xff0…

Arduino 开发ESP8266(ESP12F)模块

①ESP12F模块的硬件说明如上图所示&#xff0c;其他引脚均引出。②准备好硬件之后就是要下载Arduino IDE&#xff0c;目前版本为2.0.3&#xff0c;下载地址为&#xff1a;https://www.arduino.cc/en/software&#xff0c;如下图所示③安装Arduino IDE较为简单&#xff0c;安装之…

aws cloudformation 在堆栈中使用 waitcondition 协调资源创建和相关操作

参考资料 https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-waitcondition.htmlhttps://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-waitcondition.html 本文介绍cloudformation的waitcondition条件&#xff0c;wait…

Win10之bandicam录音无声音问题

0.问题描述&#xff1a;在Xubuntu22.04中通过gnome-boxes跑win10&#xff0c;但是win10本机录音机录音ok&#xff0c;使用bandicam录屏却没声音的问题&#xff0c;以下是分析步骤。1.Linux端设置选择Xbuntu声音图标speaker选择声卡&#xff1a;sof-hda-dsp Speaker Headphonesm…

DFS剪枝

目录 一、前言 二、剪枝 1、概念 2、类别 三、例题 1、剪格子&#xff08;lanqiaoOJ题号211&#xff09; 2、路径之谜&#xff08;2016年决赛&#xff0c;lanqiaoOJ题号89&#xff09; 3、四阶幻方&#xff08;2015年决赛&#xff0c;lanqiaoOJ题号689&#xff09; 4、…

P1028 [NOIP2001 普及组] 数的计算————C++

题目 [NOIP2001 普及组] 数的计算 题目描述 给出自然数 nnn&#xff0c;要求按如下方式构造数列&#xff1a; 只有一个数字 nnn 的数列是一个合法的数列。在一个合法的数列的末尾加入一个自然数&#xff0c;但是这个自然数不能超过该数列最后一项的一半&#xff0c;可以得到…

linux(debian系列)配置seetaface6

seetaface6依赖于opencv&#xff0c;另外我们需要界面&#xff0c;所以也需要Qt&#xff08;你也可以选择其他的&#xff09;。 这里的目标是配置好环境&#xff0c;能够编译并运行seetaface6给的demo。 那个demo中用到了sqlite数据库&#xff0c;所以我们还需要安装sqlite。…

Cosmos 基础(一)

Cosmos 区块链互联网 Cosmos是一个不断扩展的生态系统&#xff0c;由相互连接的应用程序和服务组成&#xff0c;为去中心化的未来而构建。 Cosmos 应用程序和服务使用IBC(the Inter-Blockchain Communication protocol, 区块链间通信协议)连接。这一创新使您能够在主权国家之…

僵尸进程孤儿进程

目录 1. 僵尸进程 2. 孤儿进程 1. 僵尸进程 僵尸状态&#xff1a;一个进程已经退出&#xff0c;但是还不允许被OS释放&#xff0c;处于一个被检测的状态。 僵死状态&#xff08;Z-Zombies&#xff09;是一个比较特殊的状态。当子进程退出并且父进程没有读取到子进程退出的返…

学习记录663@项目管理之项目范围管理

什么是项目范围管理 项目范围管理包括确保项目做且只做所需的全部工作&#xff0c;以成功完成项目的各个过程。它关注的焦点是:什么是包括在项目之内的&#xff0c;什么是不包括在项目之内的&#xff0c;即为项目工作明确划定边界。通俗地讲&#xff0c;项目范围管理就是要做范…

Dubbo框架学习(第二章Dubbo3拥抱云原生)

由于在微服务领域有两大框架统治&#xff0c;一个是springCloud的全家桶&#xff0c;一个是Dubbo。我用Dubbo比较少&#xff0c;所以也是学习状态。Dubbo框架学习&#xff0c;资料来源于cn.dubbo.apache.org。第二章Dubbo3拥抱云原生新一代的 Triple 协议基于 HTTP/2 作为传输层…

计算机网络第五章、第六章

1.传输层定义&#xff1a;为应用层提供通信服务使用网络层的服务传输层的功能&#xff1a;传输层提供进程和进程之间的逻辑通信复用和分用传输层对收到的报文进行差错检测传输层的两种协议传输层的两个协议&#xff1a;1.面向连接的传输控制协议TCP&#xff1a;传送数据之前必须…

人工智能辅助药物发现(1)肿瘤靶点识别

目录基于AI的靶点识别概述肿瘤建模肿瘤转录组转录组异质性单细胞转录组数据分析单细胞表观肿瘤模型肿瘤中的表观遗传模型基于甲基化测序技术的肿瘤表观遗传模型基于染色质可及性的肿瘤表观遗传模型多模态肿瘤建模靶点识别基于单细胞RNA的靶点发现基于表观的靶点发现基于多组学的…

点击化学交联剂N3-SS-N3,叠氮-二硫键-叠氮简介,CAS:352305-38-5

英文名称&#xff1a;Azidoethyl-SS-ethylazide N3-SS-N3 N3-S-S-N3 化学式&#xff1a;C4H8N6S2 分子量&#xff1a;204.3 CAS&#xff1a;352305-38-5 存储条件&#xff1a;-20C&#xff0c;避光&#xff0c;避湿 用 途&#xff1a;仅供科研实验使用&#xff0c;不用于…

《Buildozer打包实战指南》第四节 正式打包一个apk文件

目录 4.1 了解buildozer.spec配置文件中的常用参数 4.2 修改配置文件打包apk 在上一节内容中&#xff0c;我们配置好了打包环境&#xff0c;还顺带成功打包出了一个apk文件&#xff08;读者可以把这个apk安装到手机上运行&#xff09;。不过在打包这个apk前&#xff0c;我们没…

Unity学习笔记--如何在Unity运行cmd?并且在Unity中利用cmd操作svn(例如生成svn--diff文件)

目录前言需求拆分解决方案实操前言 最近工作有一个需求&#xff0c;简单来说是在 Unity 里面动态获取 SVN diff 的数据&#xff0c;并且针对这些 diff 文件做对应操作 需求拆分 我们首先拆分下需求 Unity里面获取 SVN 的 diff 文件针对生成的 diff 文件做解析&#xff0c;找…