#和 $ 在 MyBatis 中的区别

哈喽,大家好,我是木头左!

MyBatis 是一个优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。在 MyBatis 中,#{} 和 ${} 都可以用来表示参数,但是它们之间有一些区别。本文将从以下几个方面介绍这两种符号的区别:

1. #{} 和 ${} 的用法

在 MyBatis 中,#{} 用于预编译的 SQL 语句中,而 ${} 则用于动态 SQL 语句中。

1.1 #{} 的用法

1.1.1 语法
<select id="selectUserById" parameterType="int" resultType="User">
    SELECT * FROM user WHERE id = #{id}
</select>
1.1.2 特点
  • #{} 可以自动进行转义,避免了 SQL 注入攻击;
  • #{} 可以自动将传入的参数转换为指定的数据类型。

1.2 ${} 的用法

1.2.1 语法
<select id="selectUserByName" parameterType="String" resultType="User">
    SELECT * FROM user WHERE name LIKE '%${name}%'
</select>
1.2.2 特点
  • ${} 不会被自动转义,需要手动进行转义;
  • ${} 不会自动将传入的参数转换为指定的数据类型。

我是木头左,感谢各位童鞋的点赞、收藏,我们下期更精彩!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【操作系统】CentOS7入门级安装

下载镜像 CentOS镜像下载Download (centos.org) 我们选择第一个 X86_64 CentOS Mirrors List 版本描述X86_X64带64位的32位扩展版(一般安装这个)ARM64 (aarch64)嵌入式。适用于微端(树莓派、机械臂、机械中控)IBM Power (ppc64le)专用于IBM POWER服务器 选择一个合适的链接 …

2024年32款数据分析工具分五大类总览

数据分析工具在现代商业和科学中扮演着不可或缺的角色&#xff0c;为组织和个人提供了深入洞察和明智决策的能力。这些工具不仅能够处理大规模的数据集&#xff0c;还能通过强大的分析和可视化功能揭示隐藏在数据背后的模式和趋势。数据分析工具软件主要可以划分为以下五个类别…

虚拟机VMware的下载、注册码(Mac与Windows)

1. 虚拟机的下载 windows 版的虚拟机叫 VMware Workstation mac版的虚拟机叫 VMware Fusion 官网下载地址: window 下载地址 https://www.vmware.com/content/vmware/vmware-published-sites/us/products/workstation-pro.html mac 下载地址 https://www.vmware.com/prod…

纯小白蓝桥杯备赛笔记--DAY10(字符串)

文章目录 KMP字符串哈希算法简介&#xff1a;斤斤计较的小z--2047字符串hash Manacher回文串的性质算法简介最长回文子串 字典树基础朴素字符串查找步骤前缀判定--1204 01tire算法简介&#xff1a;例题1&#xff1a;例题2&#xff1a; KMP字符串哈希 算法简介&#xff1a; 真前…

Supervision:机器视觉的技术平权

Roboflow Supervision是面向非机器视觉专家的可重复使用的计算机视觉工具。 无论你是需要从硬盘加载数据集、在图像或视频上绘制检测&#xff0c;或者计算一个区域中有多少检测目标&#xff0c;都可以依靠Supervison&#xff01; NSDT工具推荐&#xff1a; Three.js AI纹理开发…

Lambda 表达式简单演化(原始的方法调用,一步步简化成 lambda 表达式的过程)

目录 Lambda 表达式简单演化原始的方法调用&#xff0c;一步步简化成 lambda 表达式的过程原始接口方法没有参数的演示—示例 1具体代码 原始接口方法携带参数的演示—示例 2具体方法 Lambda 表达式简单演化 函数式接口的定义&#xff1a; 1、任何接口&#xff0c;如果只包含唯…

Springboot 测试模块 + 注入bean失败

1.添加依赖 <dependencies><!-- ... 其他依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency> </depende…

Chatgpt掘金之旅—有爱AI商业实战篇|在线辅导业务|(十一)

演示站点&#xff1a; https://ai.uaai.cn 对话模块 官方论坛&#xff1a; www.jingyuai.com 京娱AI 一、AI技术创业在线辅导业务有哪些机会&#xff1f; 人工智能&#xff08;AI&#xff09;技术作为当今科技创新的前沿领域&#xff0c;为创业者提供了广阔的机会和挑战。随着…

【LeetCode】修炼之路-0002-Add Two Numbers(两数相加)【python】【中等】

题目 You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order, and each of their nodes contains a single digit. Add the two numbers and return the sum as a linked list. You may assume the two…

使用MobaXterm/winTerm之类的工具连接虚拟机时报错Permission denied或者Access denied的解决办法

一、虚拟机设置&#xff1a; 1.将点击【编辑】---> 【虚拟网络编辑器】 2.添加VMnet6 1&#xff09;点击【DHCP设置】--->添加网络--->选中【仅主机模式】【将主机虚拟适配器连接到此网络】 2&#xff09;子网ip写“192.168.66.0” 3&#xff09;点击右下角【应用…

Tomcat项目部署spring mvc项目,压测出现的问题

Tomcat项目部署spring mvc项目&#xff0c;压测出现的问题 项目部署&#xff1a;docker部署时候设置的内存是80G&#xff0c;JVM堆内存的初始堆和最大堆设置的内存都是64G 1、压测的时候&#xff0c;并发1000&#xff0c;循环1次 日志显示&#xff1a;堆内存溢出 2、排查出…

2022年蓝桥杯省赛——ASC

目录 题目链接&#xff1a;1.ASC - 蓝桥云课 (lanqiao.cn) 题目描述 思路 代码实现 题目链接&#xff1a;1.ASC - 蓝桥云课 (lanqiao.cn) 题目描述 这是一道填空题。 已知大写字母A的ASCLL码为65&#xff0c;请问大写字母L的ASCLL码是多少。 对&#xff0c;呃&#xff0c…

创新入门|营销中的视频内容:不可或缺的策略

视频在营销中日益重要。你是否也发现,视频内容最近似乎无处不在?它占据着社交媒体的推文、网站首页,甚至电子邮件中的位置。事实上,并不是你一个人有这样的感受。在过去十年中,视频作为一种营销手段日益成熟和强大。这是因为,人类天生就是视觉动物。我们大脑处理视觉信息的速度…

II2C协议+Oled屏幕ssd1306

IIC协议 IIC协议概述 IIC全称Inter-Integrated Circuit (集成电路总线)是由PHILIPS公司在80年代开发的两线式串行总线&#xff0c;用于连接微控制器及其外围设备。IIC属于半双工同步通信方式。 特点 简单性和有效性 由于接口直接在组件之上&#xff0c;因此IIC总线占用的空间非…

公开课学习——JVM虚拟机面试核心点与性能优化点

文章目录 jdk的体系结构图Java语言的跨平台的特性&#xff0c;怎么实现的&#xff1f;jvm内部组成呢&#xff1f;pc的值怎么变得&#xff1f;main方法的栈帧有一点点区别&#xff0c;Math()是new出来的&#xff0c;放在堆区&#xff0c;这个堆区的math和我们栈帧中的局部变量表…

B端:权限管理,远非增删改查审,一文告诉你细节。

增删改查审是B系统权限的常用功能&#xff0c;但绝非是全部功能&#xff0c;权限管理从属于用户管理体系&#xff0c;本文就详细分享权限管理都有啥&#xff0c;该如何设计。 一、什么是权限管理 B端的权限管理是指针对企业内部员工或合作伙伴的权限控制和管理。这包括对员工…

HarmonyOS 应用开发-使用colorPicker实现背景跟随主题颜色转换

介绍 本示例介绍使用image库以及effectKit库中的colorPicker对目标图片进行取色&#xff0c;将获取的颜色作为背景渐变色&#xff0c;通过swiper组件对图片进行轮播&#xff0c; 效果图预览 使用说明 直接进入页面&#xff0c;对图片进行左右滑动&#xff0c;或者等待几秒&a…

YOLOv5标签值含义根据标签将检测框色块替换(马赛克)

以一个检测人脸的图片为例&#xff1a; 检测后生成的标签txt如下&#xff0c; 此时&#xff0c;如何根据标签值将检测到的人脸同色块替换呢&#xff1f; 关键是获取检测框的左上角坐标和右下角坐标。 img Image.open(D:/PythonWokspace/JINX/datasets_transform/dataset/im…

MySQL-7.mysql约束

约束用于确保数据库中的数据满足特定的商业规则。 MySQL约束包含五种&#xff1a;not null、unique、primary key、foreign key、check 7.1 primary key 主键 字段名 字段类型 primary key 用于唯一的标识表的行数据&#xff0c;当定义主键约束后&#xff0c;该列不能重复。 pr…

赛氪网成为中国翻译协会理事单位

环球赛乐(北京)科技有限公司&#xff08;赛氪网&#xff09;正式成为中国翻译协会理事单位&#xff01; 中国翻译协会&#xff0c;简称TAC&#xff0c;自1982年成立以来&#xff0c;始终致力于推动全国翻译事业的发展。作为一个由翻译工作相关的机关、企事业单位、社会团体及个…