MyBatis教程之获取参数值的两种方式(五)

MyBatis获取参数值的两种方式:${} #{}

${} 的本质就是字符串拼接,#{} 的本质就是占位符赋值

${} 使用字符串拼接的方式拼接sql,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引号;但是 #{} 使用占位符赋值的方式拼接sql,此时为字符串类型或日期类型的字段进行赋值时,可以自动添加单引号

1、单个字面量类型的参数

若mapper接口中的方法参数为单个的字面量类型,此时可以使用 ${} #{} 以任意的名称获取参数的值,注意 ${} 需要手动加单引号。

2、多个字面量类型的参数

若mapper接口中的方法参数为多个时,此时 MyBatis 会自动将这些参数放在一个 map 集合中,以arg0, arg1...为键,以参数为值;以param1,param2...为键,以参数为值;因此只需要通过 ${}#{} 访问 map 集合的键就可以获取相对应的值,注意 ${} 需要手动加单引号。

3、map集合类型的参数

若mapper接口中的方法需要的参数为多个时,此时可以手动创建 map 集合,将这些数据放在 map 中,只需要通过 ${}#{} 访问 map 集合的键就可以获取相对应的值,注意 ${} 需要手动加单引号。

4、实体类类型的参数

若mapper接口中的方法参数为实体类对象时,此时可以使用 ${}#{},通过访问实体类对象中的属性名获取属性值,注意 ${} 需要手动加单引号。

5、使用@Param标识参数

可以通过@Param注解标识mapper接口中的方法参数,此时,会将这些参数放在 map 集合中,以 @Param 注解的 value 属性值为键,以参数为值;以param1,param2...为键,以参数为值;只需要通过 ${}#{} 访问map集合的键就可以获取相对应的值,注意 ${} 需要手动加单引号。
 

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

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

相关文章

Attacking Fake News Detectors via Manipulating News Social Engagement(2023 WWW)

Attacking Fake News Detectors via Manipulating News Social Engagement----《通过操纵新闻社交互动来攻击假新闻检测器》 摘要 在年轻一代中,获取新闻的主要来源之一是社交媒体。随着新闻在各种社交媒体平台上日益流行,虚假信息和毫无根据的言论的传…

网络安全应该怎么学?(0基础小白)

一、网络安全应该怎么学? 1.计算机基础需要过关 这一步跟网安关系暂时不大,是进入it行业每个人都必须掌握的基础能力。 计算机网络计算机操作系统算法与数据架构数据库 Tips:不用非要钻研至非常精通,可以与学习其他课程同步进行。 2.渗透技…

钢贸行业ERP系统:实现全面管理与持续增长的利器

去年在上海举办的数字化钢贸高峰论坛中提出钢贸业亟需数字化转型,因为在大力发展数字经济的时代背景下,行业进行数字化转型已经成为一种必然趋势。在今年以前,一些钢贸商一直沿用着以前非常粗放的管理手段,比如手写账本。而如果使…

vr智慧党建展厅超强参与感增强党员群众认同感、归属感

党建教育与VR虚拟现实技术的结合,是顺应现代信息化发展趋势的要求,不仅打破了传统党建教育的束缚,还丰富了党建宣传教育的渠道,党建教育VR云课堂平台是基于深圳华锐视点自主研发的VR云课堂平台中去体验各种VR党建教育软件或者视频…

Go语言实现大模型分词器tokenizer

文章目录 前言核心结构体定义构造函数文本初始处理组词构建词组索引训练数据编码解码打印状态信息运行效果总结 前言 大模型的tokenizer用于将原始文本输入转化为模型可处理的输入形式。tokenizer将文本分割成单词、子词或字符,并将其编码为数字表示。大模型的toke…

记录一下npm包的关键字段

module: 字段指定了 ES 模块版本的入口文件路径,main: 字段则指定了 CommonJS 模块版本的入口文件路径。 注意:尽管 module 字段在构建工具中被广泛支持,但它并不是所有 JavaScript 环境都遵循的规范。在 Node.js 中,通常使用 mai…

【广州华锐视点】VR模拟法庭审判实训,零距离感受庭审全过程

随着科技的不断发展,虚拟现实(VR)技术已经逐渐渗透到各个领域,为人们提供了全新的体验方式。在法律领域,VR技术的应用也日益受到关注。近年来,越来越多的法学院和培训机构开始尝试将VR技术引入模拟法庭实践…

电商数据采集中如何采集1688平台商品详情SKU数据

一、背景介绍 1688.com是阿里旗下国内最大的B2B批发采购平台,1688分销客是依托此平台的官方营销平台,通过此平台API接口的接入推广平台商家的商品,按照商品成交金额的一定比例获得佣金。可以调用1688平台上的商品详情,SKU数据&…

社区内涝积水监测系统作用,改善社区积水

随着社区化进程的加速,社区基础设施的重要性日益凸显。在这个背景下,社区生命线和内涝积水监测系统成为了关注的焦点。它们在维护社区安全,特别是在应对暴雨等极端天气条件下,发挥着至关重要的作用。 WITBEE万宾时刻关注社区内涝积…

PCL 最小二乘拟合圆柱(C++详细过程版)

目录 一、算法原理1、算法简介2、参考文献二、代码实现三、结果展示四、测试数据本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 1、算法简介 圆柱拟合步骤主要包括两步: 一是确定柱面模型参数初始值…

关于大模型在文本分类上的尝试

文章目录 前言所做的尝试总结前言 总共25个类别,在BERT上的效果是48%,数据存在不平衡的情况,训练数据分布如下: 训练数据不多,4000左右 所做的尝试 1、基于 Qwen-14b-base 做Lora SFT,Loss忘记记录 准确率在68%左右 Lora配置 class LoraArguments:lora_r: int = 64…

使用机器学习方法进行分析和处理:对高质量图像进行压缩

使用SVD(奇异值分解)进行图像压缩与普通压缩工具压缩的主要区别在于压缩原理和压缩效果。 压缩原理: 普通图像压缩工具通常采用有损压缩或无损压缩算法,如JPEG、PNG等,它们主要针对图像的像素进行变换和编码。而SVD图像…

算法高频题目

LRUCache实现 思路:使用linkedHashMap。按照插入顺序的有序链表。 get 操作。cache不包含,返回-1。包含。我们需要当前key重新put。 /将 key 变为最近使用 put。如果包含。修改当前key值。然后将key变成最近使用。不包含。如果cacheSize大于当前最大size…

[cocos creator] Label设置为RESIZE_HEIGHT,获取height

问题描述: 需要在scrollview 中显示item, item的高度由子节点label的高度动态决定,但更改string后,获取label的高度仍为初始值。 解决办法: //改变string内容 node.getComponent(Label).string str; //加上这一句 node.getCom…

【JavaEE初阶】volatile 关键字、wait 和 notify

目录 一、volatile 关键字 1、volatile 能保证内存可见性 2、volatile 不保证原子性 二、wait 和 notify 1、wait()方法 2、notify()方法 3、notifyAll()方法 4、wait 和 sleep 的对比 一、volatile 关键字 1、volatile 能保证内存可见性 我们前面的线程安全文章中&…

Docker安装可视化工具Portainer

目录 Portainer简介 Portainer安装 Portainer简介 Portainer是一款开源的容器管理平台,支持多种容器技术,如Docker、Kubernetes和Swarm等。它提供了一个易于使用的Web UI界面,可用于管理和监控容器和集群。Portainer旨在使容器管理更加简单…

前端三大MV*模式:MVC、mvvm、mvp模式介绍

MVC(同步通信为主):Model、View、Controller MVP(异步通信为主):Model、View、Presenter MVVM(异步通信为主):Model、View、ViewModel mvc模式介绍 MVC(Model–View–Controller)模式是软件…

Elk:filebeat 日志收集工具和logstash

Elk:filebeat 日志收集工具和logstash Filebeat是一个轻量级的日志手机工具,所使用的系统资源比logstash部署和启动时使用的资源要小得多 Filebeat可以在非java环境使用,他可以代理logstash在非java环境上收集日志 缺点 Filebeat无法实现数据的过滤,一般是结合l…

Direct local .aar file dependencies are not supported when building an AAR.

Direct local .aar file dependencies are not supported when building an AAR. 问题描述:打debug包没有问题,但是打release包(无论是apk还是aar包)时会报错“Direct local .aar file dependencies are not supported when building an AAR.” 原因&a…

Linux添加 交换分区/文件 .swap

需求提出 编译时系统卡死 分析 make -j64将内存消耗干净,需要减少-j数量,或者添加swap交换分区 参考链接 Linux交换空间(swap space)-CSDN Linux下增加、删除Swap文件 增加交换分区 swap 解决编译时内存不足问题-博客 添加swap文件 以…