如图,两个方法的参数类型为简单类型,简单类型包括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,#{}和${}取值符号相关推荐

  1. 05.MyBtais两种取值符号以及输入参数和输出参数

    输入参数:parameterType 两种取值符号的异同 1.类型为简单类型(8个基本类型+string) 不同点: a.#{任意值},${value} 其中的标识符只能是value b. #{}自动 ...

  2. C语言指针的指针与取地址和*取值

    int n=5;//定义一个变量n int *p=&n;使用&取n首个元素的地址给p 那输出p就可以打印n的首地址. 输出*p就可以打印n的元素:5. *取值: 上面是给p加*取值符号 ...

  3. [mybatis]映射文件_参数处理_#和$取值区别

    #{}:可以获取map中的值或者pojo对象属性的值 ${}:可以获取map中的值或者pojo对象属性的值 区别: #{}:是以预编译的形式,将参数设置到sql语句中,相当于原生jdbc的Prepar ...

  4. C语言——确定char、short、int和short变量有符号和无符号时的取值范围

    C语言--确定char.short.int和short变量有符号和无符号时的取值范围 #include <stdio.h> #include <limits.h>// dete ...

  5. mybatis 取查询值_Oracle结合Mybatis实现取表TOP 10条数据

    之前一直使用mysql和informix数据库,查表中前10条数据十分简单: 最原始版本: select top * from student 当然,我们还可以写的复杂一点,比如外加一些查询条件? 比 ...

  6. 8、SpringBoot+Mybatis整合------参数取值方式

    前言: 我们知道,在mybatis中,参数取值方式有两种: #{ } 和 ${ } 下面,我们来探讨下#{ }与${ }不同. 一.#{ } 例: select * from student wher ...

  7. MyBatis→SqlSession、sqlMapConfig.xml、映射XML文件、OGNL、拼接SQL标签、取值查值、批量SQL、一对多多对一多对多

    官网 https://mybatis.org/mybatis-3/ SqlSession sqlMapConfig.xml OGNL XML拼接SQL标签 参数取值 预编译与直接赋值 编码规范 sel ...

  8. C语言之有符号无符号整数取值范围

    基础知识点: 关于C语言整数取值范围偶尔性犯迷糊,于是整理了下方法,不再当一个糊涂虫. n位无符号整数,取值范围: 0    ~     ( 2^n - 1 ) n位有符号整数,取值范围: - (2^ ...

  9. 32 位的有符号整数的取值范围以及数值溢出

    short.int.long 是C语言中常用的三种整数类型,分别称为短整型.整型.长整型.在现代操作系统中,short.int.long 的长度分别是 2.4.4 或者 8,它们只能存储有限的数值,当 ...

最新文章

  1. html style属性
  2. Datawhale组队学习 Task04:队列(2天)
  3. 【408预推免复习】计算机组成原理之计算机的发展及应用
  4. java 生成并覆盖文件,基于mybatis-plus生成不被覆盖的文件并支持swagger注解
  5. ASP.NET Core 2.1 : 十五.图解路由(2.1 or earler)
  6. Java并发编程实践读书笔记(3)任务执行
  7. 在同一个Linux上配置多个git账户
  8. java定位线程阻塞_Arthas - 定位 Java 性能问题原来这么简单
  9. 用例设计:思维导图orExcel
  10. 【CodeForces - 527C】Glass Carving(线段树或者SBT或者set)
  11. bzoj 1654: [Usaco2006 Jan]The Cow Prom 奶牛舞会(Trajan)
  12. AjaxPro2完整入门教程
  13. DMclone for Mac(磁盘克隆软件)
  14. windows 编写的硬件驱动_黑科技or大势所趋?谈谈手机GPU驱动升级那点事
  15. matlab做神经网络的步骤,matlab建立神经网络模型
  16. FreeSwitch SIP基本原理和流程
  17. Lua 包管理 - Luarocks 使用指南
  18. 管理学概念区分(行为科学、科学管理、古典管理理论)
  19. Dissect Eclipse Plugin Framework
  20. 不同按钮进入同一个页面显示不同的div

热门文章

  1. 苹果审核4.3被拒,调查,被封下架,讨论与规避
  2. 全是精髓!也许是最完美的“Nginx学习笔记”了,阿里云高工“365”天手写!
  3. 《必备干货!程序员的自我修养高效学习方法》观后笔记
  4. Fuzz Glossary
  5. Scrapy爬到的数据保存到csv后,用Excel打开乱码的解决方法
  6. 项目3-3---摇晃的桃子
  7. ubuntu测试视频采集卡_如何对您的视频卡进行基准测试(并可以与他人进行比较)...
  8. 如何提高即兴演讲的能力
  9. 前端攻城狮---css样式之定位
  10. 数据库学习——索引等一系列问题