写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. 自律到极致-人生才精致:第6期
  2. websocket 连接本地端口_聊聊 WebSocket,还有 HTTP
  3. 学C语言办公本和游戏本,为什么不建议买游戏本?入手前须知,别只看中游戏...
  4. 封装连接mysql数据库_封装连接mysql数据库
  5. python快速编程入门课本中的名片管理器_python优雅操作-实现名片管理系统
  6. 网络爬虫--抓取图片
  7. 寒流来袭·《求职初体验》
  8. Pandas速查手册中文版(转)
  9. linux访问网络图片,linux网络图形监控方法
  10. 毁人不倦 - 许嵩 - 苏格拉没有底
  11. 双网络安全nvr/布控球,可双向同时接入国网B接口视频监控平台和国标28181平台
  12. 【1383】手机短号(多实例测试)
  13. JVM 启动参数规则:-、-X、-XX、-D表示什么意思?
  14. (七)Python绘图基础:Matplotlib绘图
  15. 页面正在载入(js代码)
  16. 如何开放云服务器的端口
  17. codesfot6批量打印,双排,斑马GT820打印机
  18. 【VC小项目】-13.1动物可以这样叫
  19. 虎牙app下载android,虎牙手游直播app下载-虎牙手游 安卓版v3.21.2-PC6安卓网
  20. 全国计算机信息高新技术考试

热门文章

  1. 电脑网络重置后如何连接网络
  2. 【知识小集】☞Excel之VBA编程语句集300句
  3. android 分享带图片的信息到彩信,微薄====
  4. 实测!Ubuntu18.04解决Teamview检测为商用问题
  5. Windows 系统重装 - Mac 制作 Win10 启动盘
  6. win10右键“新建”时响应速度非常缓慢怎么办
  7. 云游戏时代:游戏主机们未来的对手,也许不再是彼此了
  8. 服务器生成微信sign,签名生成方法
  9. 深信服超融合数据通讯口地址冲突报错处理
  10. Linux内核自带SPI设备驱动测试程序分析:spidev_test.c