写sql的时候 在mybatis的mapper.xml时我们会用到#{},${}。

区别:

#{}叫预编译处理,mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值;传进来的数据会加个" "(#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号),有效防止sql注入。

${}就是字符串替换,字符串拼接参数。直接替换掉占位符。$方式一般用于传入数据库对象,例如传入表名.

sql注入:

什么是 SQL 注入呢?比如 select * from user where id = ${value}

value 应该是一个int类型。然后如果传过来的是 11 and name = han。这样就相当于多加了一个条件,把SQL语句直接写进来了。如果是攻击性的语句呢?11;drop table user,直接把表给删了,这下就删库跑路了,所以尽量用#{}

#{}和¥{}的区别?相关推荐

  1. 【MyBatis】MyBatis中#{}与¥{}的区别

    文章目录 mybatis中#{}与¥{}的区别 mybatis中#{}与¥{}的区别 #{} 是预编译处理,像传进来的数据会加个" "(#将传入的数据都当成一个字符串,会对自动传入 ...

  2. #{}和¥{}的区别

    实例: #{}的情况: select name form student where age=#{studentAge}; 参数studentAge=18 编译后 select name form s ...

  3. mybatis:#{} 与 ¥{} 的区别以及各自的作用

    #{}是预编译处理,${}是字符串替换. Mybatis在处理#{}时,会将sql中的#{}替换为?号,调用PreparedStatement的set方法来赋值: Mybatis在处理${}时,就是把 ...

  4. Statement和PreStatement的区别 以及 #{}和${}的区别

    一.语法 prepareStatement在mybatis中获取的时候,就已经完成预编译,和用ParameterHandler 设置参数了,后面用它来执行sql语句,只剩执行了 预编译是需要mysql ...

  5. unity中单位是米还是厘米_【一步数学】小学数学单位换算公式大全及专项训练...

    重量单位换算 1吨=1000千克 1吨=1000 000克 吨:吨是重量单位,公制一吨等于1000公斤:计算船只容积的单位,一吨等于2.83立方米(合100立方英尺). 1千克=1000克 500克= ...

  6. 米的换算单位和公式_数学单位换算公式,1-6年级计算必备!

    原标题:数学单位换算公式,1-6年级计算必备! 在小学数学的学习中,单位换算贯穿始终.无论是在小升初数学考试中,还是在生活方面,都会涉及单位换算的问题. 在小学阶段,主要涉猎的单位换算包括长度.面积. ...

  7. 米的换算单位和公式_小学数学单位换算公式(附练习题)

    原标题:小学数学单位换算公式(附练习题) 小学四年级数学 在小学数学的学习中,单位换算贯穿始终.无论是在小升初数学考试中,还是在生活方面,都会涉及单位换算的问题. 在小学阶段,主要涉猎的单位换算包括长 ...

  8. 米的换算单位和公式_米的单位换算公式大全二年级(简便易记的单位米换算方法)...

    在小学数学的学习中,单位换算贯穿始终.无论是在小升初数学考试中,还是在生活方面,都会涉及单位换算的问题.在小学阶段,主要涉猎的单位换算包括长度.面积.体积.重量.人民币以及时间方面的换算. 由于换算值 ...

  9. Mybatis学习笔记(上)

    Mybatis 目录 Mybatis 1.简介 1.1 什么是Mybatis 1.2 持久层 1.3 持久层 1.4 Mybatis存在理由 2. 第一个Mybatis程序 2.1搭建环境 2.2创建 ...

最新文章

  1. Windows中SQLite的编译及编程
  2. linux中postfix(基于源码)的邮件系统
  3. 网络基础:网络IP 、子网掩码 、路由器 、DNS知识分享
  4. Mysql for linux 安装
  5. some any oracle,Oracle之 any、some、all 解析
  6. 红橙Darren视频笔记 数据库操作优化 数据查询(数据库操作)中
  7. 五光十色的白,荣耀9X PRO全息冰岛白正式开售
  8. listview android:cacheColorHint,android:listSelector属性作用
  9. jdbc连接orcal数据库
  10. ASP.NET服务器控件刷新后仍旧保持滚动位置
  11. 用VB使用花式画笔实现流动的选取框
  12. 2018中国大学生程序设计竞赛-网络选拔赛题解
  13. requirejs教程(一):基本用法
  14. vscode如何更换主题
  15. vue 动态插入子路由
  16. docker笔记(转自:陈沙克日志)
  17. vc++ 编程 经典电子书
  18. 个人永久性免费-Excel催化剂功能第86波-人工智能之图像OCR文本识别全覆盖
  19. C语言中的常用循环语句
  20. 【springboot】Springboot读取别的配置文件

热门文章

  1. 数据中台各种架构图大全
  2. Threejs实现宇宙中地球动态展示和卫星绕地运动
  3. QSqlQueryModel搭配QTableView使用卡死问题
  4. 请让我像亲人一样爱你
  5. mac下载、破解、安装webstorm编辑器
  6. CAD无法拖入打开文件的解决方法
  7. webpack4踩坑——图片打包
  8. Win11删除EFI分区
  9. iOS软件开发实现类似微信上传图片选择
  10. 站点能源低碳目标网,助力网络碳中和 | 华为发布站点能源十大趋势