Mybatis,#{}和${}取值符号
如图,两个方法的参数类型为简单类型,简单类型包括8大基本类型和String
1. #{}取值符号会自动为String类型的参数加上‘’单引号
2. ${}取值符号不会自动为String加上‘’单引号
当sql标签的查询代码是 select * from t_user where username = ‘lyx’;
这种情况,需要使用自动加上单引号的#{}:select * from t_user where username = #{username}
当查询数据降序排序时:
UserDao接口如下:
select * from t_user order by 排序字段名 desc
UserMapper.xml文件如下:
调用
queryUserOrderByColumn(String column)运行结果
queryUserOrderByColumn2(String column)运行结果2
看数据库中的数据,说明方法1没有成功降序排序
所以对于动态排序的sql语句,要用${},而不用#{}
对于排序正确 的代码是
select * from t_user order by username desc
如果使用#{},会自动为String类型添加单引号,变成
select * from t_user order by 'username' desc
所以查不到数据
来看使用${}的第二种情况:模糊查询
sql语句应该是,
LIKE_ (单个任意字符)
列名 LIKE ‘张_’
LIKE % (任意长度的任意字符)
列名 LIKE ‘张%’
显然,使用 ${},不自动添加单引号才是正确的
调用运行
运行结果:
Mybatis,#{}和${}取值符号相关推荐
- 05.MyBtais两种取值符号以及输入参数和输出参数
输入参数:parameterType 两种取值符号的异同 1.类型为简单类型(8个基本类型+string) 不同点: a.#{任意值},${value} 其中的标识符只能是value b. #{}自动 ...
- C语言指针的指针与取地址和*取值
int n=5;//定义一个变量n int *p=&n;使用&取n首个元素的地址给p 那输出p就可以打印n的首地址. 输出*p就可以打印n的元素:5. *取值: 上面是给p加*取值符号 ...
- [mybatis]映射文件_参数处理_#和$取值区别
#{}:可以获取map中的值或者pojo对象属性的值 ${}:可以获取map中的值或者pojo对象属性的值 区别: #{}:是以预编译的形式,将参数设置到sql语句中,相当于原生jdbc的Prepar ...
- C语言——确定char、short、int和short变量有符号和无符号时的取值范围
C语言--确定char.short.int和short变量有符号和无符号时的取值范围 #include <stdio.h> #include <limits.h>// dete ...
- mybatis 取查询值_Oracle结合Mybatis实现取表TOP 10条数据
之前一直使用mysql和informix数据库,查表中前10条数据十分简单: 最原始版本: select top * from student 当然,我们还可以写的复杂一点,比如外加一些查询条件? 比 ...
- 8、SpringBoot+Mybatis整合------参数取值方式
前言: 我们知道,在mybatis中,参数取值方式有两种: #{ } 和 ${ } 下面,我们来探讨下#{ }与${ }不同. 一.#{ } 例: select * from student wher ...
- MyBatis→SqlSession、sqlMapConfig.xml、映射XML文件、OGNL、拼接SQL标签、取值查值、批量SQL、一对多多对一多对多
官网 https://mybatis.org/mybatis-3/ SqlSession sqlMapConfig.xml OGNL XML拼接SQL标签 参数取值 预编译与直接赋值 编码规范 sel ...
- C语言之有符号无符号整数取值范围
基础知识点: 关于C语言整数取值范围偶尔性犯迷糊,于是整理了下方法,不再当一个糊涂虫. n位无符号整数,取值范围: 0 ~ ( 2^n - 1 ) n位有符号整数,取值范围: - (2^ ...
- 32 位的有符号整数的取值范围以及数值溢出
short.int.long 是C语言中常用的三种整数类型,分别称为短整型.整型.长整型.在现代操作系统中,short.int.long 的长度分别是 2.4.4 或者 8,它们只能存储有限的数值,当 ...
最新文章
- html style属性
- Datawhale组队学习 Task04:队列(2天)
- 【408预推免复习】计算机组成原理之计算机的发展及应用
- java 生成并覆盖文件,基于mybatis-plus生成不被覆盖的文件并支持swagger注解
- ASP.NET Core 2.1 : 十五.图解路由(2.1 or earler)
- Java并发编程实践读书笔记(3)任务执行
- 在同一个Linux上配置多个git账户
- java定位线程阻塞_Arthas - 定位 Java 性能问题原来这么简单
- 用例设计:思维导图orExcel
- 【CodeForces - 527C】Glass Carving(线段树或者SBT或者set)
- bzoj 1654: [Usaco2006 Jan]The Cow Prom 奶牛舞会(Trajan)
- AjaxPro2完整入门教程
- DMclone for Mac(磁盘克隆软件)
- windows 编写的硬件驱动_黑科技or大势所趋?谈谈手机GPU驱动升级那点事
- matlab做神经网络的步骤,matlab建立神经网络模型
- FreeSwitch SIP基本原理和流程
- Lua 包管理 - Luarocks 使用指南
- 管理学概念区分(行为科学、科学管理、古典管理理论)
- Dissect Eclipse Plugin Framework
- 不同按钮进入同一个页面显示不同的div
热门文章
- 苹果审核4.3被拒,调查,被封下架,讨论与规避
- 全是精髓!也许是最完美的“Nginx学习笔记”了,阿里云高工“365”天手写!
- 《必备干货!程序员的自我修养高效学习方法》观后笔记
- Fuzz Glossary
- Scrapy爬到的数据保存到csv后,用Excel打开乱码的解决方法
- 项目3-3---摇晃的桃子
- ubuntu测试视频采集卡_如何对您的视频卡进行基准测试(并可以与他人进行比较)...
- 如何提高即兴演讲的能力
- 前端攻城狮---css样式之定位
- 数据库学习——索引等一系列问题