#{…}是一个参数标记,将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号。如:order by #user_id#,如果传入的值是1,那么解析成sql时的值为order by "1", 如果传入的值是id,则解析成的sql为order by "id".

而${…}只是简单的字符串替换。$方式一般用于传入数据库对象,例如传入表名.

比如#{}打印出来的语句 select * from table where id=?,然而${} 则是不能防止SQL注入打印出来的语句 select * from table where id=2 实实在在的参数

一般而言,为避免SQL注入攻击,传递参数应使用#{…}方式,因为这样MyBatis会处理好特殊字符转义的问题

而对于诸如表名、字段名(如order by子句后的排序字段)这些表本身或其字段的名字,和SQL关键字(如order by子句后的asc关键字),是不能使用#{…}方式的,而只能使用字符串替换的${…}方式

转载于:https://www.cnblogs.com/fengxm/p/4113122.html

mybatis 中#和$的区别相关推荐

  1. MyBatis中#{}和${}的区别

    ------------------------siwuxie095 MyBatis 中 #{} 和 ${} 的区别 1.在 MyBatis 的映射配置文件中,动态传递参数有两种方式: (1)#{} ...

  2. Mybatis 中$与#的区别

    1 #是将传入的值当做字符串的形式,eg:select id,name,age from student where id =#{id},当前端把id值1,传入到后台的时候,就相当于 select i ...

  3. mybatis 中#与$的区别

    2019独角兽企业重金招聘Python工程师标准>>> MyBatis中#和$的区别 1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #u ...

  4. mybatis中的#{}和${}区别,和使用场景

    mybatis中的#{}和${}区别 1.#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为ord ...

  5. mybatis中#与$的区别

    mybatis中#与$的区别 MyBatis中使用parameterType向SQL语句传参,parameterType支持的类型可以是基本类型int,String,HashMap和java自定义类型 ...

  6. 【MybBatis细节篇】MyBatis中#{}和${}的区别

    [MybBatis细节篇]MyBatis中#{}和${}的区别 #{} 和 ${} 的区别 #{} 和 ${} 的实例:假设传入参数为 1 #{} 和 ${} 的大括号中的值 单个参数的情形 #{} ...

  7. spring中@param和mybatis中@param使用区别

    spring中@param /*** 查询指定用户和企业关联有没有配置角色* @param businessId memberId* @return*/int selectRoleCount(@Par ...

  8. 从印度兵力分布聊聊Mybatis中#和$的区别

    文章目录 简介 举个例子 查询举例 #{id}的特点 ${id}的特点 总结 简介 大家在使用Mybatis的过程中可能都会自己去写SQL语句,并且需要向SQL语句传入参数. 但是在Mybatis中, ...

  9. mybatis中#{}和${}的区别及order by的sql注入问题

    mybatis的#{}和${}的区别以及order by注入问题 原文  http://www.cnblogs.com/chyu/p/4389701.html 前言略,直奔主题.. #{}相当于jdb ...

  10. MyBatis 中 #{} 和 ${} 的区别看完这篇文章一目了然

    我们知道 MyBatis 中对于参数的赋值有两种方式, 一种是使用 #{}, 一种是使用 ${}, 这两种参数赋值的方式对于有些情况都可以正常使用, 但是针对某些场景, ${} 却会报错. 本篇文章主 ...

最新文章

  1. SpringBoot接口频繁超时,长时间找不到原因,我用 Arthas 定位到了
  2. MVC Html.ActionLink Area 链接中含区域的页面之间的跳转
  3. OS_CORE.C(8)
  4. SAP 将smartforms的报表转成PDF
  5. 想要学习设计模式,你得先会看类图,一张图读懂UML
  6. [vue] 使用vue渲染大量数据时应该怎么优化?说下你的思路!
  7. 【java】CGLIB动态代理原理分析
  8. gitlab 删除仓库
  9. 5个被忽视的习惯,决定了你无法成为高级开发工程师
  10. 没有iml文件会怎么样_【商标服务】商标管理:商标没有办理续展会怎么样 ?...
  11. sql替换字符串中的部分字符
  12. 动软代码生成器的具体使用方法步骤
  13. 干货| 364套各类风格毕业设计答辩PPT模板~
  14. 网站常用色彩表(网络搜集整理)
  15. 《走出强迫的泥潭——森田疗法指导集锦》
  16. 【独家分享】QQ常见网络骗术***战
  17. 2020年即将推出的智能手环APP定制开发
  18. 写在2020年的初秋
  19. 1000句英语经典口语 (1)
  20. 百度二级域名大全 目前为234个http://www.twocity.cn/blog/article.asp?id=818

热门文章

  1. python零基础实例-零基础学习Python开发练习100题实例(1)
  2. 学python可以干嘛-学习Python可以做什么
  3. python掌握程度怎么判断-Python数据分析路上,温故而知新
  4. 全国计算机等级考试python教材-全国计算机等级考试重大改革!新增Python科目
  5. 精通python-精通Python设计模式
  6. python urllib.request 爬虫 数据处理-python爬虫 urllib模块url编码处理
  7. python输入任意多个成绩-Python 实现输入任意多个数,并计算其平均值的例子
  8. python使用字典格式化字符串-python实现字符串和字典的转换
  9. excel调用python编程-使用Python对Excel进行读写操作
  10. python爬虫教程视频-python爬虫(入门教程、视频教程)