如图,两个方法的参数类型为简单类型,简单类型包括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. 用户管理之用户的查询获取
  2. vonr信令流程_SA EPS FallBack重要信令节点
  3. SpringBoot接口幂等性实现的4种方案!
  4. adodb.stream文件操作类
  5. Android vector Path Data画图详解
  6. 使用Navicat管理MySQL用户
  7. 安装dollar toolbox
  8. 最小路径和--p64--动态规划
  9. 数据--第46课 - 图算法课后练习
  10. 支持https协议么_你真的了解网址么?
  11. java 8 api 下载_JDK8 API文档(下载)
  12. 锐浪报表 Grid++Report 模板文件的读取
  13. 【论文查重】常用论文写作查重润色网站
  14. 虚拟机监视器(VMM)
  15. Windows科普:正版盗版系统有何不同?
  16. Beyond Cmpare下载安装教程
  17. Java 获取指定日期
  18. 搭建基于DataX的可视化界面
  19. 个人作业2——英语学习APP案例分析
  20. 对matplotlib.pyplot.cm.RdYlBu()的解读

热门文章

  1. 浅谈图片展示、图片自适应解决方案
  2. PYTHON点滴积累01
  3. matlab中cplxpair是什么,colon_HCOLON什么意思
  4. VI/VIM 高清键位图
  5. 湖南工商大学计算机与信息学院,赵文军(湖南工商大学计信学院信管教研室副主任。)_百度百科...
  6. iOS直播技术分析与实现
  7. js将Excel转成PDF(纸张、分页、铺满、提高清晰度)
  8. c++ CStdioFile的使用
  9. 计算机组装安装主板的依靠什么初步定位,计算机组装与维护(宋清龙)chap13.ppt
  10. python高级—— 从趟过的坑中聊聊爬虫、反爬、反反爬,附送一套高级爬虫试题