前言:

我们知道,在mybatis中,参数取值方式有两种:

#{ } 和 ${ }

下面,我们来探讨下#{ }与${ }不同。


一、#{ }

例:

select * from student where name=#{name}

编译后执行的sql语句:

select * from student where name=?

说明:

            #{ }实现的是JDBC 中preparedStatement中的占位符。

#{ }适合sql语句中的参数传值,构建sql语句#{ }是不可以的。

例如:

select * from #{tablename} ;

编译后的sql语句为:

select * from ?

这在sql中是不允许的,所以要用${ 拼接}

#{ }试用的场景

1.where语句里的判断:

a=#{a},a>#{a},a in {#{a}},a like #{a}........

         2.set语句:

                       set a=#{a}

         3.插入语句中:

                      values(#{a},.......)

         4.其他大部分适合${ }进行拼接

二、${ }

例:

select * from student where name=${name}

编译后执行的sql语句:

select * from student where name=name

说明:

${ }取参方式是简单的字符串拼接,不适合进行参数传值,不然会有sql语句注入的危险。

它更加适合的是构建sql语句。


                                                                                                  2018-07-03

转载于:https://www.cnblogs.com/TimerHotel/p/springboot_matatis_08.html

8、SpringBoot+Mybatis整合------参数取值方式相关推荐

  1. mybatis处理map参数取值

    mybatis处理map参数取值 <select id="selectOne" parameterType="java.util.HashMap" res ...

  2. spring和mybatis整合:使用xml方式

    文章目录 spring和mybatis整合:使用xml方式 1. 创建数据库 2. 创建工程,pom.xml文件如下: 3. 依赖下载地址如下: 4. 配置mybatis的全局配置,在resource ...

  3. jsp中取值方式--${param.name }

    之前在前台页面中的取参数一般是通过request.getParameter("name"); 来获取参数值,其实还有一个比较简单的方式,如下代码: <input name=& ...

  4. python几种数据类型的取值方式

    今天我们主要来学习下python的几种数据类型的取值方式! 首先我们先来看下python的几种数据类型,python有五个标准的数据类型: number(数字) string(字符串) list(列表 ...

  5. mysql1193 HY000_[MySQL参数取值] Status取值ERROR 1193 (HY000): Unknown system_MySQL

    bitsCN.com [MySQL参数取值] Status取值ERROR 1193 (HY000): Unknown system variable 'Innodb_buffer_pool_read_ ...

  6. Java中url传递中文参数取值乱码的解决方法

    Java中url传递中文参数取值乱码的解决方法 参考文章: (1)Java中url传递中文参数取值乱码的解决方法 (2)https://www.cnblogs.com/liwenjuan/p/3211 ...

  7. oracle 12c omf,从参数取值瞅Oracle OMF特性

    当前位置:我的异常网» 数据库 » 从参数取值瞅Oracle OMF特性 从参数取值瞅Oracle OMF特性 www.myexceptions.net  网友分享于:2014-05-17  浏览:1 ...

  8. Java 中Map四种取值方式

    map的主要作用是什么? 可以通过创建一个map的实现类 来存放 数据 值 和值的描述 也可以通过描述去取得数据 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.此接口取代 ...

  9. Java 中Map五种取值方式

    map的主要作用是什么? 可以通过创建一个map的实现类 来存放 数据 值 和值的描述 也可以通过描述去取得数据     将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.此接 ...

最新文章

  1. R 语言常用操作与函数汇总
  2. mongodb 只查询某个字段
  3. python相关概念
  4. [转]bootstrap table 动态列数
  5. 使用git新增分支以及初始化分支等等一些列操作实战
  6. java 静态变量的使用_java的static静态变量是不是不安全的?应该如何正确的使用他呢...
  7. 第一百六十天 how can I 坚持
  8. python 菜鸟教程 xml-【读书】Django教程(菜鸟教程)
  9. python-生成xlsx表格
  10. 读书感受 之 《好好说话2》
  11. 桃飘火焰焰,梨堕雪漠漠。(排序 贪心
  12. 台式计算机负荷,简单计算台式电脑功率
  13. php获取肖前时间,马克思主义哲学原理(上下册)
  14. 芙拉机器人_【诉说实情】芙拉2020新品女士小号斜挎包心形印花怎么样?别花冤枉钱,内幕大揭秘 | 智能扫地机器人评测...
  15. Java 与 Mysql 时间相差八小时
  16. 【mac/windows】Microsoft Office LTSC 2021
  17. python生日悖论,Python的生日悖论
  18. 天梯赛(cccc)总结(写于4.1号)
  19. 从GPT到chatGPT(二):GPT2
  20. 如何把PDF转换成CAD图纸呢?

热门文章

  1. 浅说项目管理中的Action以及3W1P原则
  2. JQuery语法 JQuery对象与原生对象互转 文档就绪函数与window.onload的区别
  3. 【转载】shell实例手册
  4. Python collections系列
  5. ASP.NET基础之HttpContext学习
  6. flex if(a is b){},flex if(a as b){} 意思
  7. c++ primer 函数传值1
  8. ES6新特性_ES6语法糖class介绍与初体验_就是个语法糖而已---JavaScript_ECMAScript_ES6-ES11新特性工作笔记033
  9. DOTNET零碎要点---字符串截取操作
  10. Struts2 + Hibernate + Spring 以及javaweb模块问题解决(2)