MyBatis--获取参数值

news2024/12/24 21:55:22

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

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

        ${}使用字符串拼接的方式拼接sql ,若为字符串类型或日期类型的字段进行赋值时,需要手动加单引号。

        #{}使用占位符赋值的方式拼接sql ,此时为字符串类型或日期类型的字段进行赋值时 ,可以自己添加单引号。

1.若mapper接口方法的参数为单个的字面量类型,此时可以通过#{}和${}以任意的内容获取参数值,一定要注意${}的单引号问题 。

2.若mapper接口方法的参数为多个的字面量类型,此时MyBatis会将参数放在map集合中,以两种方式存储数据 :

         a:以arg0,arg1...为键,以参数为值

         b:以param1,param2...为键,以参数为值

因此,只需要通过#{}和${}访问map集合的键,就可以获取相对应的值,一定要注意${}的单引号问题。

3.若mapper接口方法的参数为map集合类型的参数,只需要通过#{}和${}访问map集合的键,就可以获取相对应的值,一定要注意${}的单引号问题

4.若mapper接口方法的参数为实体类类型的参数,只需要通过#{}和${}访问实体类中的属性名,就可以获取相对应的属性值.

5.可以在mapper接口方法的参数上设置@Param注解,此时MyBatis会将这些参数放在map中.

以两种方式进行存储

  • 以 @Param 注解的 value 属性值为键 , 以参数为值
  • 以param1,param2...为键 , 以参数为值

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

        若mapper接口方法的参数为单个的字面量类型,此时可以通过#{}和${}以任意的内容获取参数值,一定要注意${}的单引号问题。

例:

使用${ } ,需要用单引号括起来

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

例 :

如果不写 arg 或 paramt 会报异常

异常 : 编译时映射文件异常 , 并提示可以使用的参数有 [arg1, arg0, param1, param2]

3.map集合类型的参数

接口

测试类(自定义键)

映射文件

4.实体类类型的参数

接口方法

映射文件

参数方法

5.使用@Param标识参数

接口

映射文件

可以直接使用@Param定义好的键

测试方法

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

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

相关文章

[附源码]java毕业设计小锅米线点餐管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【Spring Cloud实战】Spring Cloud Bus消息总线

gitee地址:https://gitee.com/javaxiaobear/spring-cloud_study.git 在线阅读地址:https://javaxiaobear.gitee.io/ 1、概述 Spring Cloud Bus将分布式系统的节点与轻量级消息代理链接。这可以用于广播状态更改(例如配置更改)或其…

15.PyQt5中的事件系统之事件(QEvent)简介

PyQt5中的事件系统 一、什么是Qt中的事件 事件(event)是由窗口系统或者Qt自身产生的事情或动作的通称。当用户按下或者松开键盘或鼠标的按键时,就可以产生一个键盘或者鼠标事件;当某个窗口第一次显示的时候,就会产生一…

Pytorch的入门操作(二)

2、Pytorch 2.1 Pytorch的介绍和安装 目标: 知道如何安装Pytorch 2.1.1 Pytorch的介绍 Pytorch是Facebook发布的深度学习框架,由其易用性,友好性,深受广大用户青睐 2.1.2 Pytorch的版本 2.1.3 Pytorch的安装 安装地址介绍&…

Matlab论文插图绘制模板第65期—带等高线的曲面图(Surfc)

在之前的文章中,分享了Matlab曲面图的绘制模板: 这一次,再来分享一下带等高线的曲面图的绘制模板。 先来看一下成品效果: 特别提示:Matlab论文插图绘制模板系列,旨在降低大家使用Matlab进行科研绘图的门槛…

【数据结构与算法】最小生成树与最短路径

🔥 本文由 程序喵正在路上 原创,CSDN首发! 💖 系列专栏:数据结构与算法 🌠 首发时间:2022年11月21日 🦋 欢迎关注🖱点赞👍收藏🌟留言&#x1f43e…

棋盘覆盖问题(Java)

文章目录棋盘覆盖问题(Java)1、问题描述2、算法设计思路3、代码实现4、复杂度分析5、参考棋盘覆盖问题(Java) 1、问题描述 在一个2k2k个方格组成的棋盘中,若恰有一个方格与其他方格不同,则称该方格为一特殊方格,且称该棋盘为一个…

D. Radio Towers(斐波那契+逆元)

Problem - 1452D - Codeforces 在一条坐标线上有n2个城镇,编号从0到n1。第i个城镇位于第i点。 你在1,2,......,n个镇上各建一座无线电塔,概率为12(这些事件是独立的)。之后,你想把每个塔的信号功率设置为1到n的某个整…

OpenGL 透明度

目录 一.OpenGL 透明度 1.IOS Object-C 版本1.Windows OpenGL ES 版本2.Windows OpenGL 版本 二.OpenGL 透明度 GLSL Shader三.猜你喜欢 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES 基础 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 &…

轻松使用TomCat、Maven和Servlet

文章目录TomcatTomcat下载启动Tomcat启动Tomcat失败的原因使用TomcatMaven创建Maven项目Maven依赖管理Servlet1.创建Maven项目2.引入依赖3.构建目录结构4.编写Servlet代码5.程序打包6.程序部署7.验证程序使用IDEA上Tomcat插件简化步骤5和步骤6Tomcat Tomcat 就是基于 Java 实现…

单点登录等功能该用 Keycloak 这种开源框架实现吗?

Keycloak 是一个开源软件产品,旨在为现代的应用程序和服务,提供包含身份管理和访问管理功能的单点登录工具。 开源软件虽然能够定制和修改源代码,还可以降低开发成本,但是 Keycloak 实现起来还是有不少问题: 用户迁移…

python实现五子棋游戏(pygame版)(附零基础学习资料)

前言 使用python实现pygame版的五子棋游戏; 环境:Windows系统python3.8.0 (文末送读者福利) 游戏规则: 1、分两位棋手对战,默认黑棋先下;当在棋盘点击左键,即在该位置绘制黑棋&a…

APT 攻击溯源方法

概述: 当今世界正值百年未有之大变局,网络空间成为继陆、海、空、天之后的第五大疆域,安全威胁也随之延伸至网络空间。没有网络安全就没有国家安全,在新时代网络空间安全已经上升至国家安全的高度。高级持续性威胁(Advanced Pers…

yolov1模型

目录 一、机器视觉算法 二、yolov1 预测阶段(向前推断)​ 三、预测阶段的后处理 (声明:本文章是在学习他人视频的学习笔记,图片出处均来自该up主,侵权删 视频链接:为什么要学YOLOV1_哔哩哔哩_b…

拿铁DHT-PHEV座舱智能程度体验笔记(超详细)

评测时间: •第一次 2022年10月1日-10月7日 •第二次 2022年10月25日 评测配置: •两驱超大杯 18.98万元好评功能盘点 座舱芯片及内存:高通骁龙 8155,算力8TOPS,存储8GB,内存12G,一流的配置。 四…

领悟《信号与系统》之 连续时间信号的时域分析法

连续时间信号的时域分析法一、LTI 连续系统的响应1. LTI 微分方程的建立与求解2. LTI 连续系统的零输入响应与零状态响应1. 零输入响应2. 零状态响应3. 全响应二、冲激响应和阶跃响应1. 冲激响应2. 阶跃响应三、卷积积分及其性质1. 任意信号的分解2. 任意信号作用下的零状态响应…

一个合格的中级前端工程师需要掌握的 28 个 JavaScript 技巧

1. 判断对象的数据类型 使用 Object.prototype.toString 配合闭包,通过传入不同的判断类型来返回不同的判断函数,一行代码,简洁优雅灵活(注意传入 type 参数时首字母大写) 不推荐将这个函数用来检测可能会产生包装类型…

【跨境电商】6种实用有效的策略帮助改善客户沟通

关键词:跨境电商卖家、客户沟通 1.什么是客户沟通? 客户沟通是公司与消费者的互动。品牌识别接触点并通过各种渠道(例如电话、电子邮件和实时聊天)在每个接触点建立关系。公司可以通过始终如一的参与并将消费者置于这种互动的中心…

【Redis】内存回收:内存淘汰策略

【Redis】内存回收:内存淘汰策略 文章目录【Redis】内存回收:内存淘汰策略一、Redis内存回收-过期key处理二、Redis内存回收-内存淘汰策略一、Redis内存回收-过期key处理 如果你发现,平时在操作 Redis 时,并没有延迟很大的情况发生…

Watermelon Book(二)线性模型

文章目录线性回归对数几率回归线性类别分类多分类学习类别不平衡问题基本形式:若给定 d个属性描述的示例x(x1,x2,x3…xd),则线性模型试图学得一个 通过属性的线性组合来进行预测。f(x)W1*X1W2*X2...Wn*Xnw(T)xbw(w1;w2;w3;wn;)线性模型形式简单、易于建模…